diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/README.md b/README.md index 51f241a..8b13789 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ -# race -aigc代码 + diff --git a/auto-imports.d.ts b/auto-imports.d.ts new file mode 100644 index 0000000..bc57d8c --- /dev/null +++ b/auto-imports.d.ts @@ -0,0 +1,11 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// noinspection JSUnusedGlobalSymbols +// Generated by unplugin-auto-import +// biome-ignore lint: disable +export {} +declare global { + const ElMenu: typeof import('element-plus/es')['ElMenu'] + const ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] +} diff --git a/components.d.ts b/components.d.ts new file mode 100644 index 0000000..73ded34 --- /dev/null +++ b/components.d.ts @@ -0,0 +1,65 @@ +/* eslint-disable */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +// biome-ignore lint: disable +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + Charts: typeof import('./src/components/charts.vue')['default'] + ElAside: typeof import('element-plus/es')['ElAside'] + ElAvatar: typeof import('element-plus/es')['ElAvatar'] + ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb'] + ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem'] + ElButton: typeof import('element-plus/es')['ElButton'] + ElCard: typeof import('element-plus/es')['ElCard'] + ElCarousel: typeof import('element-plus/es')['ElCarousel'] + ElCarouselItem: typeof import('element-plus/es')['ElCarouselItem'] + ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] + ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] + ElCol: typeof import('element-plus/es')['ElCol'] + ElContainer: typeof import('element-plus/es')['ElContainer'] + ElDatePicker: typeof import('element-plus/es')['ElDatePicker'] + ElDropdown: typeof import('element-plus/es')['ElDropdown'] + ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem'] + ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu'] + ElForm: typeof import('element-plus/es')['ElForm'] + ElFormItem: typeof import('element-plus/es')['ElFormItem'] + ElHeader: typeof import('element-plus/es')['ElHeader'] + ElIcon: typeof import('element-plus/es')['ElIcon'] + ElInput: typeof import('element-plus/es')['ElInput'] + ElMain: typeof import('element-plus/es')['ElMain'] + ElMenu: typeof import('element-plus/es')['ElMenu'] + ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] + ElMenuItemGroup: typeof import('element-plus/es')['ElMenuItemGroup'] + ElOption: typeof import('element-plus/es')['ElOption'] + ElRadio: typeof import('element-plus/es')['ElRadio'] + ElRadioButton: typeof import('element-plus/es')['ElRadioButton'] + ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] + ElRow: typeof import('element-plus/es')['ElRow'] + ElSegmented: typeof import('element-plus/es')['ElSegmented'] + ElSelect: typeof import('element-plus/es')['ElSelect'] + ElSelectV2: typeof import('element-plus/es')['ElSelectV2'] + ElSubmenu: typeof import('element-plus/es')['ElSubmenu'] + ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] + ElSwitch: typeof import('element-plus/es')['ElSwitch'] + ElTable: typeof import('element-plus/es')['ElTable'] + ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] + ElText: typeof import('element-plus/es')['ElText'] + ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] + HelloWorld: typeof import('./src/components/HelloWorld.vue')['default'] + IconCommunity: typeof import('./src/components/icons/IconCommunity.vue')['default'] + IconDocumentation: typeof import('./src/components/icons/IconDocumentation.vue')['default'] + IconEcosystem: typeof import('./src/components/icons/IconEcosystem.vue')['default'] + IconSupport: typeof import('./src/components/icons/IconSupport.vue')['default'] + IconTooling: typeof import('./src/components/icons/IconTooling.vue')['default'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + TheWelcome: typeof import('./src/components/TheWelcome.vue')['default'] + VaildCode: typeof import('./src/components/vaildCode.vue')['default'] + ValidCode: typeof import('./src/components/validCode.vue')['default'] + WelcomeItem: typeof import('./src/components/WelcomeItem.vue')['default'] + } +} diff --git a/env.d.ts b/env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/index.html b/index.html new file mode 100644 index 0000000..872ab31 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..74aebc9 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,4490 @@ +{ + "name": "vivo-aigc", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "vivo-aigc", + "version": "0.0.0", + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.9.0", + "echarts": "^5.6.0", + "element-plus": "^2.9.9", + "pinia": "^3.0.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/axios": "^0.9.36", + "@types/echarts": "^4.9.22", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/tsconfig": "^0.7.0", + "less": "^4.3.0", + "npm-run-all2": "^7.0.2", + "typescript": "~5.8.0", + "unplugin-auto-import": "^19.1.2", + "unplugin-vue-components": "^28.5.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/@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.npmmirror.com/@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.27.1", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.27.1.tgz", + "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.27.1.tgz", + "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helpers": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1", + "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/generator": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.27.1.tgz", + "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", + "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz", + "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", + "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.27.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", + "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", + "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.27.1.tgz", + "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.1.tgz", + "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.27.1.tgz", + "integrity": "sha512-DTxe4LBPrtFdsWzgpmbBKevg3e9PBy+dXRt19kSbucbZvL2uqtdqwwpluL1jfxYE0wIDTFp1nTy/q6gNLsxXrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmmirror.com/@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.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz", + "integrity": "sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.27.1.tgz", + "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.27.1.tgz", + "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.27.1", + "@babel/parser": "^7.27.1", + "@babel/template": "^7.27.1", + "@babel/types": "^7.27.1", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", + "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.3.tgz", + "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", + "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.3.tgz", + "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", + "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", + "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", + "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", + "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", + "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", + "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", + "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", + "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", + "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", + "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", + "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", + "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", + "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", + "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", + "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", + "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", + "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", + "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", + "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", + "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", + "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.0.tgz", + "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.0", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.0.tgz", + "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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.npmmirror.com/@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/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.1.4", + "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "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.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", + "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", + "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", + "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", + "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", + "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", + "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", + "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", + "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", + "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", + "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", + "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", + "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", + "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", + "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", + "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", + "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", + "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", + "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", + "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", + "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmmirror.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@tsconfig/node22": { + "version": "22.0.1", + "resolved": "https://registry.npmmirror.com/@tsconfig/node22/-/node22-22.0.1.tgz", + "integrity": "sha512-VkgOa3n6jvs1p+r3DiwBqeEwGAwEvnVCg/hIjiANl5IEcqP3G0u5m8cBJspe1t9qjZRlZ7WFgqq5bJrGdgAKMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/axios": { + "version": "0.9.36", + "resolved": "https://registry.npmmirror.com/@types/axios/-/axios-0.9.36.tgz", + "integrity": "sha512-NLOpedx9o+rxo/X5ChbdiX6mS1atE4WHmEEIcR9NLenRVa5HoVjAvjafwU3FPTqnZEstpoqCaW7fagqSoTDNeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/echarts": { + "version": "4.9.22", + "resolved": "https://registry.npmmirror.com/@types/echarts/-/echarts-4.9.22.tgz", + "integrity": "sha512-7Fo6XdWpoi8jxkwP7BARUOM7riq8bMhmsCtSG8gzUcJmFhLo387tihoBYS/y5j7jl3PENT5RxeWZdN9RiwO7HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/zrender": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.7", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz", + "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.16", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.16.tgz", + "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "22.15.3", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.15.3.tgz", + "integrity": "sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.16", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "license": "MIT" + }, + "node_modules/@types/zrender": { + "version": "4.0.6", + "resolved": "https://registry.npmmirror.com/@types/zrender/-/zrender-4.0.6.tgz", + "integrity": "sha512-1jZ9bJn2BsfmYFPBHtl5o3uV+ILejAtGrDcYSpT4qaVKEI/0YY+arw3XHU04Ebd8Nca3SQ7uNcLaqiL+tTFVMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", + "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.13", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-2.4.13.tgz", + "integrity": "sha512-MnQJ7eKchJx5Oz+YdbqyFUk8BN6jasdJv31n/7r6/WwlOOv7qzvot6B66887l2ST3bUW4Mewml54euzpJWA6bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.13" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.13", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-2.4.13.tgz", + "integrity": "sha512-l/EBcc2FkvHgz2ZxV+OZK3kMSroMr7nN3sZLF2/f6kWW66q8+tEL4giiYyFjt0BcubqJhBt6soYIrAPhg/Yr+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.13", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-2.4.13.tgz", + "integrity": "sha512-Ukz4xv84swJPupZeoFsQoeJEOm7U9pqsEnaGGgt5ni3SCTa22m8oJP5Nng3Wed7Uw5RBELdLxxORX8YhJPyOgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.13", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.4.0.tgz", + "integrity": "sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.4.0.tgz", + "integrity": "sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/plugin-syntax-jsx": "^7.25.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "@vue/babel-helper-vue-transform-on": "1.4.0", + "@vue/babel-plugin-resolve-type": "1.4.0", + "@vue/shared": "^3.5.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.4.0", + "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.4.0.tgz", + "integrity": "sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-plugin-utils": "^7.26.5", + "@babel/parser": "^7.26.9", + "@vue/compiler-sfc": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmmirror.com/@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": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.6.tgz", + "integrity": "sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.6" + } + }, + "node_modules/@vue/devtools-core": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-core/-/devtools-core-7.7.6.tgz", + "integrity": "sha512-ghVX3zjKPtSHu94Xs03giRIeIWlb9M+gvDRVpIZ/cRIxKHdW6HE/sm1PT3rUYS3aV92CazirT93ne+7IOvGUWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.6", + "@vue/devtools-shared": "^7.7.6", + "mitt": "^3.0.1", + "nanoid": "^5.1.0", + "pathe": "^2.0.3", + "vite-hot-client": "^2.0.4" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@vue/devtools-core/node_modules/nanoid": { + "version": "5.1.5", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.5.tgz", + "integrity": "sha512-Ir/+ZpE9fDsNH0hQ3C68uyThDXzYcim2EqcZ8zn8Chtt1iylPT9xXJB0kPCnqzgcEGikO9RxSrh63MsmVCU7Fw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.6.tgz", + "integrity": "sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.6", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.6.tgz", + "integrity": "sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/language-core": { + "version": "2.2.10", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-2.2.10.tgz", + "integrity": "sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^1.0.3", + "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.13", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.7.0", + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.7.0.tgz", + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/core": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/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/@vueuse/metadata": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "9.13.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/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/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/alien-signals": { + "version": "1.0.13", + "resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-1.0.13.tgz", + "integrity": "sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/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/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/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/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.9.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.9.0.tgz", + "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", + "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.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/birpc": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.3.0.tgz", + "integrity": "sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.24.4", + "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "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.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "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.npmmirror.com/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/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001716", + "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", + "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", + "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/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/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/confbox": { + "version": "0.2.2", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.2.2.tgz", + "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz", + "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", + "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.6", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/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/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/default-browser": { + "version": "5.2.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.149", + "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.149.tgz", + "integrity": "sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/element-plus": { + "version": "2.9.9", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.9.9.tgz", + "integrity": "sha512-gN553+xr7ETkhJhH26YG0fERmd2BSCcQKslbtR8fats0Mc0yCtZOXr00bmoPOt5xGzhuRN1TWc9+f1pCaiA0/Q==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/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/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.5", + "resolved": "https://registry.npmmirror.com/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/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.3", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.3.tgz", + "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.3", + "@esbuild/android-arm": "0.25.3", + "@esbuild/android-arm64": "0.25.3", + "@esbuild/android-x64": "0.25.3", + "@esbuild/darwin-arm64": "0.25.3", + "@esbuild/darwin-x64": "0.25.3", + "@esbuild/freebsd-arm64": "0.25.3", + "@esbuild/freebsd-x64": "0.25.3", + "@esbuild/linux-arm": "0.25.3", + "@esbuild/linux-arm64": "0.25.3", + "@esbuild/linux-ia32": "0.25.3", + "@esbuild/linux-loong64": "0.25.3", + "@esbuild/linux-mips64el": "0.25.3", + "@esbuild/linux-ppc64": "0.25.3", + "@esbuild/linux-riscv64": "0.25.3", + "@esbuild/linux-s390x": "0.25.3", + "@esbuild/linux-x64": "0.25.3", + "@esbuild/netbsd-arm64": "0.25.3", + "@esbuild/netbsd-x64": "0.25.3", + "@esbuild/openbsd-arm64": "0.25.3", + "@esbuild/openbsd-x64": "0.25.3", + "@esbuild/sunos-x64": "0.25.3", + "@esbuild/win32-arm64": "0.25.3", + "@esbuild/win32-ia32": "0.25.3", + "@esbuild/win32-x64": "0.25.3" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/execa": { + "version": "9.5.2", + "resolved": "https://registry.npmmirror.com/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exsolve": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/exsolve/-/exsolve-1.0.5.tgz", + "integrity": "sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/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/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmmirror.com/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.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-extra": { + "version": "11.3.0", + "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz", + "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmmirror.com/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-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmmirror.com/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/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "8.0.1", + "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/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.npmmirror.com/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "4.1.16", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz", + "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", + "license": "MIT", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/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": "3.1.1", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/less": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/less/-/less-4.3.0.tgz", + "integrity": "sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less/node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/less/node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true, + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmmirror.com/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.17", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmmirror.com/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmmirror.com/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "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/needle": { + "version": "3.3.1", + "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-run-all2": { + "version": "7.0.2", + "resolved": "https://registry.npmmirror.com/npm-run-all2/-/npm-run-all2-7.0.2.tgz", + "integrity": "sha512-7tXR+r9hzRNOPNTvXegM+QzCuMjzUIIq66VDunL6j60O4RrExx32XUhlrS7UK4VcdGw5/Wxzb3kfNcFix9JKDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.6", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-package-json-fast": "^4.0.0", + "shell-quote": "^1.7.3", + "which": "^5.0.0" + }, + "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": "^18.17.0 || >=20.5.0", + "npm": ">= 9" + } + }, + "node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/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/open": { + "version": "10.1.2", + "resolved": "https://registry.npmmirror.com/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", + "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/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/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/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pinia": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-3.0.2.tgz", + "integrity": "sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.2" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.4.4", + "vue": "^2.7.0 || ^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pkg-types": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/pkg-types/-/pkg-types-2.1.0.tgz", + "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.1", + "exsolve": "^1.0.1", + "pathe": "^2.0.3" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "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.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-ms": { + "version": "9.2.0", + "resolved": "https://registry.npmmirror.com/pretty-ms/-/pretty-ms-9.2.0.tgz", + "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/quansync": { + "version": "0.2.10", + "resolved": "https://registry.npmmirror.com/quansync/-/quansync-0.2.10.tgz", + "integrity": "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, + "node_modules/read-package-json-fast": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", + "dev": true, + "license": "ISC", + "dependencies": { + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmmirror.com/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/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rollup": { + "version": "4.40.1", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.40.1.tgz", + "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.7" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.40.1", + "@rollup/rollup-android-arm64": "4.40.1", + "@rollup/rollup-darwin-arm64": "4.40.1", + "@rollup/rollup-darwin-x64": "4.40.1", + "@rollup/rollup-freebsd-arm64": "4.40.1", + "@rollup/rollup-freebsd-x64": "4.40.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", + "@rollup/rollup-linux-arm-musleabihf": "4.40.1", + "@rollup/rollup-linux-arm64-gnu": "4.40.1", + "@rollup/rollup-linux-arm64-musl": "4.40.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-gnu": "4.40.1", + "@rollup/rollup-linux-riscv64-musl": "4.40.1", + "@rollup/rollup-linux-s390x-gnu": "4.40.1", + "@rollup/rollup-linux-x64-gnu": "4.40.1", + "@rollup/rollup-linux-x64-musl": "4.40.1", + "@rollup/rollup-win32-arm64-msvc": "4.40.1", + "@rollup/rollup-win32-ia32-msvc": "4.40.1", + "@rollup/rollup-win32-x64-msvc": "4.40.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-applescript": { + "version": "7.0.0", + "resolved": "https://registry.npmmirror.com/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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true, + "license": "ISC", + "optional": true + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/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.2", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.2.tgz", + "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/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": "3.0.1", + "resolved": "https://registry.npmmirror.com/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/superjson": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz", + "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", + "license": "MIT", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/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.npmmirror.com/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.1", + "resolved": "https://registry.npmmirror.com/ufo/-/ufo-1.6.1.tgz", + "integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/unimport/-/unimport-4.2.0.tgz", + "integrity": "sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "pkg-types": "^2.1.0", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.12", + "unplugin": "^2.2.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/unplugin/-/unplugin-2.3.2.tgz", + "integrity": "sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.1", + "picomatch": "^4.0.2", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "19.1.2", + "resolved": "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-19.1.2.tgz", + "integrity": "sha512-EkxNIJm4ZPYtV7rRaPBKnsscgTaifIZNrJF5DkMffTxkUOJOlJuKVypA6YBSBOjzPJDTFPjfVmCQPoBuOO+YYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "picomatch": "^4.0.2", + "unimport": "^4.1.2", + "unplugin": "^2.2.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.2", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmmirror.com/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-vue-components": { + "version": "28.5.0", + "resolved": "https://registry.npmmirror.com/unplugin-vue-components/-/unplugin-vue-components-28.5.0.tgz", + "integrity": "sha512-o7fMKU/uI8NiP+E0W62zoduuguWqB0obTfHFtbr1AP2uo2lhUPnPttWUE92yesdiYfo9/0hxIrj38FMc1eaySg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.6.0", + "debug": "^4.4.0", + "local-pkg": "^1.1.1", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "tinyglobby": "^0.2.12", + "unplugin": "^2.3.2", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + }, + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.3.4", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.3.4.tgz", + "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.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 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-hot-client": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/vite-hot-client/-/vite-hot-client-2.0.4.tgz", + "integrity": "sha512-W9LOGAyGMrbGArYJN4LBCdOC5+Zwh7dHvOHC0KmGKkJhsOzaKbpo/jEjpPKVHIW0/jBWj8RZG0NUxfgA8BxgAg==", + "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 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.8.9", + "resolved": "https://registry.npmmirror.com/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", + "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/utils": "^0.7.10", + "@rollup/pluginutils": "^5.1.3", + "debug": "^4.3.7", + "error-stack-parser-es": "^0.1.5", + "fs-extra": "^11.2.0", + "open": "^10.1.0", + "perfect-debounce": "^1.0.0", + "picocolors": "^1.1.1", + "sirv": "^3.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-devtools": { + "version": "7.7.6", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.6.tgz", + "integrity": "sha512-L7nPVM5a7lgit/Z+36iwoqHOaP3wxqVi1UvaDJwGCfblS9Y6vNqf32ILlzJVH9c47aHu90BhDXeZc+rgzHRHcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-core": "^7.7.6", + "@vue/devtools-kit": "^7.7.6", + "@vue/devtools-shared": "^7.7.6", + "execa": "^9.5.2", + "sirv": "^3.0.1", + "vite-plugin-inspect": "0.8.9", + "vite-plugin-vue-inspector": "^5.3.1" + }, + "engines": { + "node": ">=v14.21.3" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz", + "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==", + "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 || ^6.0.0-0" + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.5.1", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz", + "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-tsc": { + "version": "2.2.10", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-2.2.10.tgz", + "integrity": "sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.11", + "@vue/language-core": "2.2.10" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..5423c0e --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "vivo-aigc", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.9.0", + "echarts": "^5.6.0", + "element-plus": "^2.9.9", + "pinia": "^3.0.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@tsconfig/node22": "^22.0.1", + "@types/axios": "^0.9.36", + "@types/echarts": "^4.9.22", + "@types/node": "^22.14.0", + "@vitejs/plugin-vue": "^5.2.3", + "@vue/tsconfig": "^0.7.0", + "less": "^4.3.0", + "npm-run-all2": "^7.0.2", + "typescript": "~5.8.0", + "unplugin-auto-import": "^19.1.2", + "unplugin-vue-components": "^28.5.0", + "vite": "^6.2.4", + "vite-plugin-vue-devtools": "^7.7.2", + "vue-tsc": "^2.2.8" + } +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/public/favicon.ico differ diff --git a/race special/common/HELP.md b/race special/common/HELP.md deleted file mode 100644 index 54e228d..0000000 --- a/race special/common/HELP.md +++ /dev/null @@ -1,18 +0,0 @@ -# Getting Started - -### Reference Documentation - -For further reference, please consider the following sections: - -* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) -* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.4/maven-plugin) -* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.4/maven-plugin/build-image.html) - -### Maven Parent overrides - -Due to Maven's design, elements are inherited from the parent POM to the project POM. -While most of the inheritance is fine, it also inherits unwanted elements like `` and `` from the -parent. -To prevent this, the project POM contains empty overrides for these elements. -If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides. - diff --git a/race special/common/common.iml b/race special/common/common.iml deleted file mode 100644 index 7184116..0000000 --- a/race special/common/common.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/race special/common/pom.xml b/race special/common/pom.xml deleted file mode 100644 index 5e76f95..0000000 --- a/race special/common/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - 4.0.0 - - org.example - racespecial - 0.0.1-SNAPSHOT - - org.example - common - 0.0.1-SNAPSHOT - common - common - - - - - - - - - - - - - - - - - org.projectlombok - lombok - - - com.alibaba - fastjson - 1.2.76 - - - commons-lang - commons-lang - - - org.springframework.boot - spring-boot-starter-json - - - io.jsonwebtoken - jjwt - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - com.aliyun.oss - aliyun-sdk-oss - - - javax.xml.bind - jaxb-api - - - - com.github.wechatpay-apiv3 - wechatpay-apache-httpclient - - - org.apache.tomcat.embed - tomcat-embed-core - - - - - - diff --git a/race special/common/src/main/java/org/example/constant/AutoFillConstant.java b/race special/common/src/main/java/org/example/constant/AutoFillConstant.java deleted file mode 100644 index 60a1145..0000000 --- a/race special/common/src/main/java/org/example/constant/AutoFillConstant.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.example.constant; - -/** - * 公共字段自动填充相关常量 - */ -public class AutoFillConstant { - /** - * 实体类中的方法名称 - */ - public static final String SET_CREATE_TIME = "setCreateTime"; - public static final String SET_UPDATE_TIME = "setUpdateTime"; - public static final String SET_CREATE_USER = "setCreateUser"; - public static final String SET_UPDATE_USER = "setUpdateUser"; -} diff --git a/race special/common/src/main/java/org/example/constant/JwtClaimsConstant.java b/race special/common/src/main/java/org/example/constant/JwtClaimsConstant.java deleted file mode 100644 index ff840a9..0000000 --- a/race special/common/src/main/java/org/example/constant/JwtClaimsConstant.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.example.constant; - -public class JwtClaimsConstant { - - public static final String EMP_ID = "empId"; - public static final String USER_ID = "userId"; - public static final String PHONE = "phone"; - public static final String USERNAME = "username"; - public static final String NAME = "name"; - -} diff --git a/race special/common/src/main/java/org/example/constant/MessageConstant.java b/race special/common/src/main/java/org/example/constant/MessageConstant.java deleted file mode 100644 index 80e5645..0000000 --- a/race special/common/src/main/java/org/example/constant/MessageConstant.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.example.constant; - -/** - * 信息提示常量类 - */ -public class MessageConstant { - - public static final String PASSWORD_ERROR = "密码错误"; - public static final String ACCOUNT_NOT_FOUND = "账号不存在"; - public static final String ACCOUNT_LOCKED = "账号被锁定"; - public static final String UNKNOWN_ERROR = "未知错误"; - public static final String USER_NOT_LOGIN = "用户未登录"; - public static final String CATEGORY_BE_RELATED_BY_SETMEAL = "当前分类关联了套餐,不能删除"; - public static final String CATEGORY_BE_RELATED_BY_DISH = "当前分类关联了菜品,不能删除"; - public static final String SHOPPING_CART_IS_NULL = "购物车数据为空,不能下单"; - public static final String ADDRESS_BOOK_IS_NULL = "用户地址为空,不能下单"; - public static final String LOGIN_FAILED = "登录失败"; - public static final String UPLOAD_FAILED = "文件上传失败"; - public static final String SETMEAL_ENABLE_FAILED = "套餐内包含未启售菜品,无法启售"; - public static final String PASSWORD_EDIT_FAILED = "密码修改失败"; - public static final String DISH_ON_SALE = "起售中的菜品不能删除"; - public static final String SETMEAL_ON_SALE = "起售中的套餐不能删除"; - public static final String DISH_BE_RELATED_BY_SETMEAL = "当前菜品关联了套餐,不能删除"; - public static final String ORDER_STATUS_ERROR = "订单状态错误"; - public static final String ORDER_NOT_FOUND = "订单不存在"; - - public static final String ALREADY_EXITS = "用户名已经存在"; -} diff --git a/race special/common/src/main/java/org/example/constant/PasswordConstant.java b/race special/common/src/main/java/org/example/constant/PasswordConstant.java deleted file mode 100644 index a344103..0000000 --- a/race special/common/src/main/java/org/example/constant/PasswordConstant.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.example.constant; - -/** - * 密码常量 - */ -public class PasswordConstant { - - public static final String DEFAULT_PASSWORD = "123456"; - -} diff --git a/race special/common/src/main/java/org/example/constant/StatusConstant.java b/race special/common/src/main/java/org/example/constant/StatusConstant.java deleted file mode 100644 index 073dd74..0000000 --- a/race special/common/src/main/java/org/example/constant/StatusConstant.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.example.constant; - -/** - * 状态常量,启用或者禁用 - */ -public class StatusConstant { - - //启用 - public static final Integer ENABLE = 1; - - //禁用 - public static final Integer DISABLE = 0; -} diff --git a/race special/common/src/main/java/org/example/context/BaseContext.java b/race special/common/src/main/java/org/example/context/BaseContext.java deleted file mode 100644 index 3ba90ec..0000000 --- a/race special/common/src/main/java/org/example/context/BaseContext.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.example.context; - -public class BaseContext { - - public static ThreadLocal threadLocal = new ThreadLocal<>(); - - public static void setCurrentId(Long id) { - threadLocal.set(id); - } - - public static Long getCurrentId() { - return threadLocal.get(); - } - - public static void removeCurrentId() { - threadLocal.remove(); - } - -} diff --git a/race special/common/src/main/java/org/example/exception/BaseException.java b/race special/common/src/main/java/org/example/exception/BaseException.java deleted file mode 100644 index 2ebd8df..0000000 --- a/race special/common/src/main/java/org/example/exception/BaseException.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.example.exception; - -/** - * 业务异常 - */ -public class BaseException extends RuntimeException { - - public BaseException() { - } - - public BaseException(String msg) { - super(msg); - } - -} diff --git a/race special/common/src/main/java/org/example/exception/LoginFailedException.java b/race special/common/src/main/java/org/example/exception/LoginFailedException.java deleted file mode 100644 index ccea683..0000000 --- a/race special/common/src/main/java/org/example/exception/LoginFailedException.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.example.exception; - -/** - * 登录失败 - */ -public class LoginFailedException extends BaseException{ - public LoginFailedException(String msg){ - super(msg); - } -} diff --git a/race special/common/src/main/java/org/example/exception/PasswordEditFailedException.java b/race special/common/src/main/java/org/example/exception/PasswordEditFailedException.java deleted file mode 100644 index 883b33f..0000000 --- a/race special/common/src/main/java/org/example/exception/PasswordEditFailedException.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.example.exception; - -/** - * 密码修改失败异常 - */ -public class PasswordEditFailedException extends BaseException{ - - public PasswordEditFailedException(String msg){ - super(msg); - } - -} diff --git a/race special/common/src/main/java/org/example/exception/PasswordErrorException.java b/race special/common/src/main/java/org/example/exception/PasswordErrorException.java deleted file mode 100644 index 57de72e..0000000 --- a/race special/common/src/main/java/org/example/exception/PasswordErrorException.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.example.exception; - -/** - * 密码错误异常 - */ -public class PasswordErrorException extends BaseException { - - public PasswordErrorException() { - } - - public PasswordErrorException(String msg) { - super(msg); - } - -} diff --git a/race special/common/src/main/java/org/example/json/JacksonObjectMapper.java b/race special/common/src/main/java/org/example/json/JacksonObjectMapper.java deleted file mode 100644 index 70987eb..0000000 --- a/race special/common/src/main/java/org/example/json/JacksonObjectMapper.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.example.json; - -import com.fasterxml.jackson.databind.DeserializationFeature; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; -import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; -import com.fasterxml.jackson.datatype.jsr310.deser.LocalTimeDeserializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; -import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; - -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.format.DateTimeFormatter; - -import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; - -/** - * 对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象 - * 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象] - * 从Java对象生成JSON的过程称为 [序列化Java对象到JSON] - */ -public class JacksonObjectMapper extends ObjectMapper { - - public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; - //public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; - public static final String DEFAULT_DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm"; - public static final String DEFAULT_TIME_FORMAT = "HH:mm:ss"; - - public JacksonObjectMapper() { - super(); - //收到未知属性时不报异常 - this.configure(FAIL_ON_UNKNOWN_PROPERTIES, false); - - //反序列化时,属性不存在的兼容处理 - this.getDeserializationConfig().withoutFeatures(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); - - SimpleModule simpleModule = new SimpleModule() - .addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) - .addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) - .addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))) - .addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT))) - .addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT))) - .addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT))); - - //注册功能模块 例如,可以添加自定义序列化器和反序列化器 - this.registerModule(simpleModule); - } -} diff --git a/race special/common/src/main/java/org/example/properties/AiPictureProperties.java b/race special/common/src/main/java/org/example/properties/AiPictureProperties.java deleted file mode 100644 index 04188d6..0000000 --- a/race special/common/src/main/java/org/example/properties/AiPictureProperties.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Data -@Component -@ConfigurationProperties(prefix = "race.picture") -public class AiPictureProperties { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/properties/AiProperties.java b/race special/common/src/main/java/org/example/properties/AiProperties.java deleted file mode 100644 index 8c9452c..0000000 --- a/race special/common/src/main/java/org/example/properties/AiProperties.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Data -@Component -@ConfigurationProperties(prefix = "race.deepseek") -public class AiProperties { - private String apiKey; - private String apiKey1; - private String deepSeekUrl; - private String TongYingUrl; - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/properties/AiQueryPictureProperties.java b/race special/common/src/main/java/org/example/properties/AiQueryPictureProperties.java deleted file mode 100644 index 9701776..0000000 --- a/race special/common/src/main/java/org/example/properties/AiQueryPictureProperties.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Data -@Component -@ConfigurationProperties(prefix = "race.querypicture") -public class AiQueryPictureProperties { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/properties/JwtProperties.java b/race special/common/src/main/java/org/example/properties/JwtProperties.java deleted file mode 100644 index 594c52b..0000000 --- a/race special/common/src/main/java/org/example/properties/JwtProperties.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.example.properties; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.stereotype.Component; - -@Component -@ConfigurationProperties(prefix = "race.jwt") -@Data -public class JwtProperties { - - /** - * 管理端员工生成jwt令牌相关配置 - */ - private String adminSecretKey; - private long adminTtl; - private String adminTokenName; - - /** - * 用户端微信用户生成jwt令牌相关配置 - */ - private String userSecretKey; - private long userTtl; - private String userTokenName; - -} diff --git a/race special/common/src/main/java/org/example/result/PageResult.java b/race special/common/src/main/java/org/example/result/PageResult.java deleted file mode 100644 index 170a553..0000000 --- a/race special/common/src/main/java/org/example/result/PageResult.java +++ /dev/null @@ -1,22 +0,0 @@ -package org.example.result; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.util.List; - -/** - * 封装分页查询结果 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class PageResult implements Serializable { - - private long total; //总记录数 - - private List records; //当前页数据集合 - -} diff --git a/race special/common/src/main/java/org/example/result/Result.java b/race special/common/src/main/java/org/example/result/Result.java deleted file mode 100644 index 69c28a4..0000000 --- a/race special/common/src/main/java/org/example/result/Result.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.example.result; - -import lombok.Data; - -import java.io.Serializable; - -/** - * 后端统一返回结果 - * @param - */ -@Data -public class Result implements Serializable { - - private Integer code; //编码:1成功,0和其它数字为失败 - private String msg; //错误信息 - private T data; //数据 - - public static Result success() { - Result result = new Result(); - result.code = 1; - return result; - } - - public static Result success(T object) { - Result result = new Result(); - result.data = object; - result.code = 1; - return result; - } - - public static Result error(String msg) { - Result result = new Result(); - result.msg = msg; - result.code = 0; - return result; - } -} diff --git a/race special/common/src/main/java/org/example/utils/AiPictureUtil.java b/race special/common/src/main/java/org/example/utils/AiPictureUtil.java deleted file mode 100644 index 50bbbe4..0000000 --- a/race special/common/src/main/java/org/example/utils/AiPictureUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.example.utils; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AiPictureUtil { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/utils/AiQueryPictureUtil.java b/race special/common/src/main/java/org/example/utils/AiQueryPictureUtil.java deleted file mode 100644 index defd4de..0000000 --- a/race special/common/src/main/java/org/example/utils/AiQueryPictureUtil.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.example.utils; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -public class AiQueryPictureUtil { - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; -} diff --git a/race special/common/src/main/java/org/example/utils/AiUtil.java b/race special/common/src/main/java/org/example/utils/AiUtil.java deleted file mode 100644 index 3865991..0000000 --- a/race special/common/src/main/java/org/example/utils/AiUtil.java +++ /dev/null @@ -1,243 +0,0 @@ -package org.example.utils; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import org.apache.catalina.session.StandardSession; -import org.apache.http.HttpEntity; -import org.apache.http.HttpRequest; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.springframework.boot.autoconfigure.web.ServerProperties; -import org.springframework.boot.web.server.Cookie; -import org.springframework.boot.web.servlet.server.Session; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpSessionContext; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import java.security.SecureRandom; -import java.time.Instant; -import java.util.Base64; -import java.util.Enumeration; -import java.util.UUID; - -@Data -@AllArgsConstructor -@Slf4j -public class AiUtil { - private String apiKey; - private String apiKey1; - private String deepSeekUrl; - private String TongYingUrl; - private String appId; - private String appKey; - private String httpMethod; - private String httpUrl; - private String requestUrl; - - private static String calculateSignature( - String httpMethod, - String httpUri, - String canonicalQueryString, - String appId, - long timestamp, // 输入为 long 类型 - String nonce, - String appKey) throws Exception { - - // 显式将 timestamp 转换为字符串 - String timestampStr = String.valueOf(timestamp); - - // 构建签名字符串(所有参数均为字符串) - String signingString = String.join("\n", - httpMethod.toUpperCase(), // POST - httpUri, // /vivogpt/completions - canonicalQueryString, // requestId=xxx - appId, // "2025158089" - timestampStr, // "1745768181"(显式转换) - "x-ai-gateway-app-id:" + appId, // 头部字段 - "x-ai-gateway-timestamp:" + timestampStr, // 使用转换后的字符串 - "x-ai-gateway-nonce:" + nonce - ); - - // 打印调试信息(确保 timestamp 为字符串形式) - System.out.println("Timestamp String: " + timestampStr); - System.out.println("Signing String:\n" + signingString); - - // 计算 HMAC-SHA256(不变) - Mac sha256Hmac = Mac.getInstance("HmacSHA256"); - SecretKeySpec secretKey = new SecretKeySpec(appKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); - sha256Hmac.init(secretKey); - byte[] hashBytes = sha256Hmac.doFinal(signingString.getBytes(StandardCharsets.UTF_8)); - - return Base64.getEncoder().encodeToString(hashBytes); - } - - public String getString(String message, String sessionId) throws Exception { - CloseableHttpClient httpClient = HttpClients.createDefault(); - //生成八位随机字符串 - final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - StringBuilder sb = new StringBuilder(8); - SecureRandom secureRandom = new SecureRandom(); - for (int i = 0; i < 8; i++) { - int randomIndex = secureRandom.nextInt(ALPHABET.length()); - sb.append(ALPHABET.charAt(randomIndex)); - } - String string = sb.toString(); - UUID requestId = UUID.randomUUID(); - URIBuilder uriBuilder = new URIBuilder(requestUrl); - uriBuilder.addParameter("requestId", requestId.toString()); - URI build = uriBuilder.build(); - HttpPost httpPost = new HttpPost(build); - httpPost.setHeader("Content-Type", "application/json; charset=utf-8"); - httpPost.setHeader("X-AI-GATEWAY-APP-ID",appId); - long epochSecond = Instant.now().getEpochSecond(); - httpPost.setHeader("X-AI-GATEWAY-TIMESTAMP",epochSecond+""); - httpPost.setHeader("X-AI-GATEWAY-NONCE",string); - String canonicalQueryString="requestId="+requestId; - String s = calculateSignature(httpMethod, httpUrl, canonicalQueryString, appId, epochSecond, string, appKey); - httpPost.setHeader("X-AI-GATEWAY-SIGNATURE",s); - httpPost.setHeader("X-AI-GATEWAY-SIGNED-HEADERS","x-ai-gateway-app-id;x-ai-gateway-timestamp;x-ai-gateway-nonce"); - String systemPrompt="你是一个生活小贴士,专门用来为别人做每一天的生活规划的。"; - String escapedMessage = JSON.toJSONString(message, SerializerFeature.WriteNonStringValueAsString); - String requestBody = "{" + - "\"messages\":[" + - "{\"role\":\"user\",\"content\":\"你好呀\"}," + - "{\"role\":\"assistant\",\"content\":\"你好!我是vivo助手,有什么可以帮助你的吗?\"}," + - "{\"role\":\"assistant\",\"content\":\"根据天气预报,今天天气晴朗,气温25℃,非常适合户外活动。\"}," + - "{\"role\":\"user\",\"content\":"+escapedMessage+"}" + - "]," + - "\"model\":\"vivo-BlueLM-TB-Pro\"," + - "\"sessionId\":\"" + sessionId + "\"," + - "\"systemPrompt\":\"" + systemPrompt + "\"," + - "\"extra\":{" + - "\"temperature\":0.9," + - "\"top_p\":0.7," + - "\"top_k\":50," + - "\"max_new_tokens\":2048," + - "\"repetition_penalty\":1.02" + - "}" + - "}"; - String requestBody1 = "{" + - "\"messages\":[" + - "{\"role\":\"user\",\"content\":\"你好呀\"}," + - "{\"role\":\"assistant\",\"content\":\"你好!我是vivo助手,有什么可以帮助你的吗?\"}," + - "{\"role\":\"assistant\",\"content\":\"根据天气预报,今天天气晴朗,气温25℃,非常适合户外活动。\"}," + - "{\"role\":\"user\",\"content\":\""+message+"\"}" + - "]," + - "\"model\":\"vivo-BlueLM-TB-Pro\"," + - "\"sessionId\":\"" + sessionId + "\"," + - "\"systemPrompt\":\"" + systemPrompt + "\"," + - "\"extra\":{" + - "\"temperature\":0.9," + - "\"top_p\":0.7," + - "\"top_k\":50," + - "\"max_new_tokens\":2048," + - "\"repetition_penalty\":1.02" + - "}" + - "}"; - System.out.println("我到这里了"); - System.out.println(requestBody); - System.out.println(requestBody1); - httpPost.setEntity(new StringEntity(requestBody1, StandardCharsets.UTF_8)); - CloseableHttpResponse response = httpClient.execute(httpPost); - if (response.getStatusLine().getStatusCode() == 200) { - HttpEntity entity = response.getEntity(); - JSONObject jsonObject = JSON.parseObject(EntityUtils.toString(entity)); - JSONObject result = jsonObject.getJSONObject("data"); - return result.getString("content"); - }else{ - System.out.println(response.getStatusLine().getStatusCode()); - return null; - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /*public String getdeepSeek(String message) throws IOException { - CloseableHttpClient httpclient = HttpClients.createDefault(); - HttpPost httpPost = new HttpPost(deepSeekUrl); - httpPost.setHeader("Content-type", "application/json"); - httpPost.setHeader("Accept", "application/json"); - httpPost.setHeader("Authorization", "Bearer " + apiKey); - String requestBody = "{\"model\": \"deepseek-reasoner\", \"messages\": [" + - "{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}," + - "{\"role\": \"user\", \"content\":\""+message+"\" }" + - "], \"temperature\": 0.7}"; - StringEntity entity = new StringEntity(requestBody, "utf-8"); - httpPost.setEntity(entity); - CloseableHttpResponse execute = httpclient.execute(httpPost); - int statusCode = execute.getStatusLine().getStatusCode(); - if (statusCode != 200) { - throw new IOException(execute.getStatusLine().getReasonPhrase()); - } - HttpEntity entity1 = execute.getEntity(); - JSONObject jsonObject = JSONObject.parseObject(EntityUtils.toString(entity1)); - JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString("choices")); - StringBuffer sb = new StringBuffer(); - for (Object object : jsonArray) { - JSONObject json = (JSONObject) object; - JSONObject message1 = json.getJSONObject("message"); - String string = message1.getString("content"); - sb.append(string); - } - return sb.toString(); - }*/ - //剩余部分自己补全即可,套路一模一样,哈哈哈哈哈哈哈哈哈哈哈哈,太爽啦 - -} -} diff --git a/race special/common/src/main/java/org/example/utils/JwtUtil.java b/race special/common/src/main/java/org/example/utils/JwtUtil.java deleted file mode 100644 index 80001c1..0000000 --- a/race special/common/src/main/java/org/example/utils/JwtUtil.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.example.utils; - -import io.jsonwebtoken.Claims; -import io.jsonwebtoken.JwtBuilder; -import io.jsonwebtoken.Jwts; -import io.jsonwebtoken.SignatureAlgorithm; - -import java.nio.charset.StandardCharsets; -import java.util.Date; -import java.util.Map; - -public class JwtUtil { - /** - * 生成jwt - * 使用Hs256算法, 私匙使用固定秘钥 - * - * @param secretKey jwt秘钥 - * @param ttlMillis jwt过期时间(毫秒) - * @param claims 设置的信息 - * @return - */ - public static String createJWT(String secretKey, long ttlMillis, Map claims) { - // 指定签名的时候使用的签名算法,也就是header那部分 - SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; - - // 生成JWT的时间 - long expMillis = System.currentTimeMillis() + ttlMillis; - Date exp = new Date(expMillis); - - // 设置jwt的body - JwtBuilder builder = Jwts.builder() - // 如果有私有声明,一定要先设置这个自己创建的私有的声明,这个是给builder的claim赋值,一旦写在标准的声明赋值之后,就是覆盖了那些标准的声明的 - .setClaims(claims) - // 设置签名使用的签名算法和签名使用的秘钥 - .signWith(signatureAlgorithm, secretKey.getBytes(StandardCharsets.UTF_8)) - // 设置过期时间 - .setExpiration(exp); - - return builder.compact(); - } - - /** - * Token解密 - * - * @param secretKey jwt秘钥 此秘钥一定要保留好在服务端, 不能暴露出去, 否则sign就可以被伪造, 如果对接多个客户端建议改造成多个 - * @param token 加密后的token - * @return - */ - public static Claims parseJWT(String secretKey, String token) { - // 得到DefaultJwtParser - Claims claims = Jwts.parser() - // 设置签名的秘钥 - .setSigningKey(secretKey.getBytes(StandardCharsets.UTF_8)) - // 设置需要解析的jwt - .parseClaimsJws(token).getBody(); - return claims; - } - -} diff --git a/race special/common/target/classes/META-INF/spring-configuration-metadata.json b/race special/common/target/classes/META-INF/spring-configuration-metadata.json deleted file mode 100644 index fd70663..0000000 --- a/race special/common/target/classes/META-INF/spring-configuration-metadata.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "groups": [ - { - "name": "race.deepseek", - "type": "org.example.properties.AiProperties", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.jwt", - "type": "org.example.properties.JwtProperties", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.picture", - "type": "org.example.properties.AiPictureProperties", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.querypicture", - "type": "org.example.properties.AiQueryPictureProperties", - "sourceType": "org.example.properties.AiQueryPictureProperties" - } - ], - "properties": [ - { - "name": "race.deepseek.api-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.api-key1", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.app-id", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.app-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.deep-seek-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.http-method", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.http-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.request-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.deepseek.tong-ying-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiProperties" - }, - { - "name": "race.jwt.admin-secret-key", - "type": "java.lang.String", - "description": "管理端员工生成jwt令牌相关配置", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.admin-token-name", - "type": "java.lang.String", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.admin-ttl", - "type": "java.lang.Long", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.user-secret-key", - "type": "java.lang.String", - "description": "用户端微信用户生成jwt令牌相关配置", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.user-token-name", - "type": "java.lang.String", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.jwt.user-ttl", - "type": "java.lang.Long", - "sourceType": "org.example.properties.JwtProperties" - }, - { - "name": "race.picture.app-id", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.app-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.http-method", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.http-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.picture.request-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiPictureProperties" - }, - { - "name": "race.querypicture.app-id", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.app-key", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.http-method", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.http-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - }, - { - "name": "race.querypicture.request-url", - "type": "java.lang.String", - "sourceType": "org.example.properties.AiQueryPictureProperties" - } - ], - "hints": [] -} \ No newline at end of file diff --git a/race special/common/target/classes/org/example/constant/AutoFillConstant.class b/race special/common/target/classes/org/example/constant/AutoFillConstant.class deleted file mode 100644 index 85483e9..0000000 Binary files a/race special/common/target/classes/org/example/constant/AutoFillConstant.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/constant/JwtClaimsConstant.class b/race special/common/target/classes/org/example/constant/JwtClaimsConstant.class deleted file mode 100644 index 8115441..0000000 Binary files a/race special/common/target/classes/org/example/constant/JwtClaimsConstant.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/constant/MessageConstant.class b/race special/common/target/classes/org/example/constant/MessageConstant.class deleted file mode 100644 index a33b00e..0000000 Binary files a/race special/common/target/classes/org/example/constant/MessageConstant.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/constant/PasswordConstant.class b/race special/common/target/classes/org/example/constant/PasswordConstant.class deleted file mode 100644 index dbd4188..0000000 Binary files a/race special/common/target/classes/org/example/constant/PasswordConstant.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/constant/StatusConstant.class b/race special/common/target/classes/org/example/constant/StatusConstant.class deleted file mode 100644 index c308070..0000000 Binary files a/race special/common/target/classes/org/example/constant/StatusConstant.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/context/BaseContext.class b/race special/common/target/classes/org/example/context/BaseContext.class deleted file mode 100644 index eb8263a..0000000 Binary files a/race special/common/target/classes/org/example/context/BaseContext.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/exception/BaseException.class b/race special/common/target/classes/org/example/exception/BaseException.class deleted file mode 100644 index 06898b7..0000000 Binary files a/race special/common/target/classes/org/example/exception/BaseException.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/exception/LoginFailedException.class b/race special/common/target/classes/org/example/exception/LoginFailedException.class deleted file mode 100644 index c49206d..0000000 Binary files a/race special/common/target/classes/org/example/exception/LoginFailedException.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/exception/PasswordEditFailedException.class b/race special/common/target/classes/org/example/exception/PasswordEditFailedException.class deleted file mode 100644 index 7887fe8..0000000 Binary files a/race special/common/target/classes/org/example/exception/PasswordEditFailedException.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/exception/PasswordErrorException.class b/race special/common/target/classes/org/example/exception/PasswordErrorException.class deleted file mode 100644 index 4ebe953..0000000 Binary files a/race special/common/target/classes/org/example/exception/PasswordErrorException.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/json/JacksonObjectMapper.class b/race special/common/target/classes/org/example/json/JacksonObjectMapper.class deleted file mode 100644 index cd35288..0000000 Binary files a/race special/common/target/classes/org/example/json/JacksonObjectMapper.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/properties/AiPictureProperties.class b/race special/common/target/classes/org/example/properties/AiPictureProperties.class deleted file mode 100644 index 54658b4..0000000 Binary files a/race special/common/target/classes/org/example/properties/AiPictureProperties.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/properties/AiProperties.class b/race special/common/target/classes/org/example/properties/AiProperties.class deleted file mode 100644 index bd1be25..0000000 Binary files a/race special/common/target/classes/org/example/properties/AiProperties.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/properties/AiQueryPictureProperties.class b/race special/common/target/classes/org/example/properties/AiQueryPictureProperties.class deleted file mode 100644 index d584ba6..0000000 Binary files a/race special/common/target/classes/org/example/properties/AiQueryPictureProperties.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/properties/JwtProperties.class b/race special/common/target/classes/org/example/properties/JwtProperties.class deleted file mode 100644 index 95e30cf..0000000 Binary files a/race special/common/target/classes/org/example/properties/JwtProperties.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/result/PageResult.class b/race special/common/target/classes/org/example/result/PageResult.class deleted file mode 100644 index d22db02..0000000 Binary files a/race special/common/target/classes/org/example/result/PageResult.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/result/Result.class b/race special/common/target/classes/org/example/result/Result.class deleted file mode 100644 index 2661e9e..0000000 Binary files a/race special/common/target/classes/org/example/result/Result.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/utils/AiPictureUtil$AiPictureUtilBuilder.class b/race special/common/target/classes/org/example/utils/AiPictureUtil$AiPictureUtilBuilder.class deleted file mode 100644 index 2518a57..0000000 Binary files a/race special/common/target/classes/org/example/utils/AiPictureUtil$AiPictureUtilBuilder.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/utils/AiPictureUtil.class b/race special/common/target/classes/org/example/utils/AiPictureUtil.class deleted file mode 100644 index bf717d5..0000000 Binary files a/race special/common/target/classes/org/example/utils/AiPictureUtil.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/utils/AiQueryPictureUtil$AiQueryPictureUtilBuilder.class b/race special/common/target/classes/org/example/utils/AiQueryPictureUtil$AiQueryPictureUtilBuilder.class deleted file mode 100644 index a6e8302..0000000 Binary files a/race special/common/target/classes/org/example/utils/AiQueryPictureUtil$AiQueryPictureUtilBuilder.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/utils/AiQueryPictureUtil.class b/race special/common/target/classes/org/example/utils/AiQueryPictureUtil.class deleted file mode 100644 index 91cf1c5..0000000 Binary files a/race special/common/target/classes/org/example/utils/AiQueryPictureUtil.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/utils/AiUtil.class b/race special/common/target/classes/org/example/utils/AiUtil.class deleted file mode 100644 index 2631d47..0000000 Binary files a/race special/common/target/classes/org/example/utils/AiUtil.class and /dev/null differ diff --git a/race special/common/target/classes/org/example/utils/JwtUtil.class b/race special/common/target/classes/org/example/utils/JwtUtil.class deleted file mode 100644 index 4b3d5e6..0000000 Binary files a/race special/common/target/classes/org/example/utils/JwtUtil.class and /dev/null differ diff --git a/race special/pojo/HELP.md b/race special/pojo/HELP.md deleted file mode 100644 index 54e228d..0000000 --- a/race special/pojo/HELP.md +++ /dev/null @@ -1,18 +0,0 @@ -# Getting Started - -### Reference Documentation - -For further reference, please consider the following sections: - -* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) -* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.4/maven-plugin) -* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.4/maven-plugin/build-image.html) - -### Maven Parent overrides - -Due to Maven's design, elements are inherited from the parent POM to the project POM. -While most of the inheritance is fine, it also inherits unwanted elements like `` and `` from the -parent. -To prevent this, the project POM contains empty overrides for these elements. -If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides. - diff --git a/race special/pojo/pom.xml b/race special/pojo/pom.xml deleted file mode 100644 index ddc2684..0000000 --- a/race special/pojo/pom.xml +++ /dev/null @@ -1,75 +0,0 @@ - - - 4.0.0 - - org.example - racespecial - 0.0.1-SNAPSHOT - - org.example - pojo - 0.0.1-SNAPSHOT - pojo - pojo - - - - - - - - - - - - - - - - - org.projectlombok - lombok - - - com.fasterxml.jackson.core - jackson-databind - 2.9.2 - - - com.github.xiaoymin - knife4j-spring-boot-starter - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - org.projectlombok - lombok - provided - - - - diff --git a/race special/pojo/src/main/java/org/example/pojo/DTO/UserLoginDTO.java b/race special/pojo/src/main/java/org/example/pojo/DTO/UserLoginDTO.java deleted file mode 100644 index 524fd01..0000000 --- a/race special/pojo/src/main/java/org/example/pojo/DTO/UserLoginDTO.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.pojo.DTO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -@Data -@ApiModel(description = "用户登录时传递的数据模型") -public class UserLoginDTO implements Serializable { - @ApiModelProperty("用户名") - private String username; - @ApiModelProperty("密码") - private String password; -} diff --git a/race special/pojo/src/main/java/org/example/pojo/VO/UserLoginVO.java b/race special/pojo/src/main/java/org/example/pojo/VO/UserLoginVO.java deleted file mode 100644 index fff6800..0000000 --- a/race special/pojo/src/main/java/org/example/pojo/VO/UserLoginVO.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.example.pojo.VO; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; - -@Data -@Builder -@AllArgsConstructor -@NoArgsConstructor -@ApiModel(description = "用户登录时返回的数据格式") -public class UserLoginVO implements Serializable { - @ApiModelProperty("主键值") - private Long id; - @ApiModelProperty("用户名") - private String username; - @ApiModelProperty("姓名") - private String name; - @ApiModelProperty("jwt令牌") - private String token; -} diff --git a/race special/pojo/src/main/java/org/example/pojo/entity/user.java b/race special/pojo/src/main/java/org/example/pojo/entity/user.java deleted file mode 100644 index 6676f8e..0000000 --- a/race special/pojo/src/main/java/org/example/pojo/entity/user.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.example.pojo.entity; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serializable; -import java.time.LocalDateTime; - -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class user implements Serializable { - private static final long serialVersionUID = 1L; - private Long id; - private String name; - private String password; - private String username; - private Long count; - private LocalDateTime loginTime; - private LocalDateTime logoutTime; - private LocalDateTime updateAt; -} diff --git a/race special/pom.xml b/race special/pom.xml deleted file mode 100644 index 85467f1..0000000 --- a/race special/pom.xml +++ /dev/null @@ -1,181 +0,0 @@ - - - 4.0.0 - org.example - racespecial - 0.0.1-SNAPSHOT - pom - - - org.springframework.boot - spring-boot-starter-parent - 2.7.3 - - - - - common - pojo - server - - - - - - - - - - - - - - - - - - 1.8 - 2.2.0 - 1.18.20 - 2.6 - 1.2.1 - 1.3.0 - 3.10.2 - 3.0.2 - 1.9.4 - 0.9.1 - 3.16 - 2.3.1 - - 2.3.6 - - - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - ${mybatis.spring} - - - - org.projectlombok - lombok - ${lombok} - - - - - com.fasterxml.jackson.core - jackson-databind - 2.15.3 - - - - commons-lang - commons-lang - ${commons.lang} - - - - com.alibaba - druid-spring-boot-starter - ${druid} - - - - com.github.pagehelper - pagehelper-spring-boot-starter - ${pagehelper} - - - - com.github.xiaoymin - knife4j-spring-boot-starter - ${knife4j} - - - - org.aspectj - aspectjrt - ${aspectj} - - - - org.aspectj - aspectjweaver - ${aspectj} - - - - io.jsonwebtoken - jjwt - ${jjwt} - - - - com.aliyun.oss - aliyun-sdk-oss - ${aliyun.sdk.oss} - - - - javax.xml.bind - jaxb-api - ${jaxb-api} - - - org.glassfish.jaxb - jaxb-runtime - ${jaxb-runtime} - - - com.sun.activation - javax.activation - 1.2.0 - - - - - org.apache.poi - poi - ${poi} - - - org.apache.poi - poi-ooxml - ${poi} - - - - com.github.wechatpay-apiv3 - wechatpay-apache-httpclient - 0.4.8 - - - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - - \ No newline at end of file diff --git a/race special/server/HELP.md b/race special/server/HELP.md deleted file mode 100644 index 54e228d..0000000 --- a/race special/server/HELP.md +++ /dev/null @@ -1,18 +0,0 @@ -# Getting Started - -### Reference Documentation - -For further reference, please consider the following sections: - -* [Official Apache Maven documentation](https://maven.apache.org/guides/index.html) -* [Spring Boot Maven Plugin Reference Guide](https://docs.spring.io/spring-boot/3.4.4/maven-plugin) -* [Create an OCI image](https://docs.spring.io/spring-boot/3.4.4/maven-plugin/build-image.html) - -### Maven Parent overrides - -Due to Maven's design, elements are inherited from the parent POM to the project POM. -While most of the inheritance is fine, it also inherits unwanted elements like `` and `` from the -parent. -To prevent this, the project POM contains empty overrides for these elements. -If you manually switch to a different parent and actually want the inheritance, you need to remove those overrides. - diff --git a/race special/server/pom.xml b/race special/server/pom.xml deleted file mode 100644 index 3a27481..0000000 --- a/race special/server/pom.xml +++ /dev/null @@ -1,168 +0,0 @@ - - 4.0.0 - - org.example - racespecial - 0.0.1-SNAPSHOT - - org.example - server - 0.0.1-SNAPSHOT - server - server - - - - - - - - - - - - - - - - - - com.github.xiaoymin - knife4j-spring-boot-starter - 3.0.3 - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - org.springframework.boot - spring-boot-starter - - - org.example - common - 0.0.1-SNAPSHOT - - - org.springframework.boot - spring-boot-starter-test - test - - - - org.springframework.boot - spring-boot-starter-web - compile - - - - com.mysql - mysql-connector-j - 8.0.33 - - - - org.mybatis.spring.boot - mybatis-spring-boot-starter - - - - org.projectlombok - lombok - - - - - com.fasterxml.jackson.core - jackson-databind - - - com.alibaba - fastjson - 1.2.76 - - - com.alibaba - druid-spring-boot-starter - - - - com.github.pagehelper - pagehelper-spring-boot-starter - - - - org.aspectj - aspectjrt - - - - org.aspectj - aspectjweaver - - - - com.github.xiaoymin - knife4j-spring-boot-starter - - - - org.springframework.boot - spring-boot-starter-data-redis - - - - org.springframework.boot - spring-boot-starter-cache - - - - org.springframework.boot - spring-boot-starter-websocket - - - - javax.xml.bind - jaxb-api - - - org.glassfish.jaxb - jaxb-runtime - - - com.sun.activation - javax.activation - - - - - - org.apache.poi - poi - - - org.apache.poi - poi-ooxml - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.8 - 1.8 - - - - - \ No newline at end of file diff --git a/race special/server/src/main/java/org/example/server/ServerApplication.java b/race special/server/src/main/java/org/example/server/ServerApplication.java deleted file mode 100644 index 25e1f8b..0000000 --- a/race special/server/src/main/java/org/example/server/ServerApplication.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.server; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.web.bind.annotation.CrossOrigin; - -@SpringBootApplication -@ComponentScan(basePackages = {"org.example.server.handler,org.example.server.mapper,org.example.server.service,org.example.server.controller,org.example.properties,org.example.server.interceptor", "org.example.server.configuration"}) -public class ServerApplication { - - public static void main(String[] args) { - SpringApplication.run(ServerApplication.class, args); - } - -} \ No newline at end of file diff --git a/race special/server/src/main/java/org/example/server/configuration/AiConfiguration.java b/race special/server/src/main/java/org/example/server/configuration/AiConfiguration.java deleted file mode 100644 index 8b59e09..0000000 --- a/race special/server/src/main/java/org/example/server/configuration/AiConfiguration.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.example.server.configuration; - -import lombok.extern.slf4j.Slf4j; -import org.example.properties.AiProperties; -import org.example.utils.AiUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -@Configuration -@Slf4j -public class AiConfiguration { - @Bean - public AiUtil aiUtil(AiProperties aiProperties) { - return new AiUtil(aiProperties.getApiKey(),aiProperties.getApiKey1(),aiProperties.getDeepSeekUrl(), - aiProperties.getTongYingUrl(), aiProperties.getAppId(), aiProperties.getAppKey(), aiProperties.getHttpMethod(), aiProperties.getHttpUrl(), aiProperties.getRequestUrl()); - } -} diff --git a/race special/server/src/main/java/org/example/server/configuration/WebMvcConfiguration.java b/race special/server/src/main/java/org/example/server/configuration/WebMvcConfiguration.java deleted file mode 100644 index 2d06d2f..0000000 --- a/race special/server/src/main/java/org/example/server/configuration/WebMvcConfiguration.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.example.server.configuration; - -import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j; -import lombok.extern.slf4j.Slf4j; -import org.example.json.JacksonObjectMapper; -import org.example.server.interceptor.JwtTokenAdminInterceptor; -import org.example.server.interceptor.JwtTokenUserceptor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; -import springfox.documentation.builders.ApiInfoBuilder; -import springfox.documentation.builders.PathSelectors; -import springfox.documentation.builders.RequestHandlerSelectors; -import springfox.documentation.service.ApiInfo; -import springfox.documentation.spi.DocumentationType; -import springfox.documentation.spring.web.plugins.Docket; -import springfox.documentation.swagger2.annotations.EnableSwagger2; - -import java.util.List; - -/** - * 配置类,注册web层相关组件 - */ -@Configuration -@Slf4j -@ConditionalOnWebApplication -@EnableSwagger2 -@EnableKnife4j -public class WebMvcConfiguration extends WebMvcConfigurationSupport { - - @Autowired - private JwtTokenAdminInterceptor jwtTokenAdminInterceptor; - @Autowired - private JwtTokenUserceptor jwtTokenUserInterceptor; - /** - * 注册自定义拦截器 - * - * @param registry - */ - protected void addInterceptors(InterceptorRegistry registry) { - log.info("开始注册自定义拦截器..."); - registry.addInterceptor(jwtTokenUserInterceptor) - .addPathPatterns("/user/**") - .excludePathPatterns("/user/user/login") - .excludePathPatterns("/user/shop/status") - .excludePathPatterns("/user/questionSimple"); - - } - - /** - * 通过knife4j生成接口文档 - * @return - */ - @Bean - public Docket docket() { - ApiInfo apiInfo = new ApiInfoBuilder() - .title("vivo蓝心大模型开发文档") - .version("1.0") - .description("vivo文档") - .build(); - Docket docket = new Docket(DocumentationType.SWAGGER_2) - .groupName("用户端接口") - .apiInfo(apiInfo) - .select() - .apis(RequestHandlerSelectors.basePackage("org.example.server.controller")) - .paths(PathSelectors.any()) - .build(); - return docket; - } - /** - * 设置静态资源映射 - * @param registry - */ - @Override - protected void addResourceHandlers(ResourceHandlerRegistry registry) { - log.info("开始设置静态资源映射"); - registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); - registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); - } - @Override - protected void extendMessageConverters(List> converters) { - log.info("扩展消息转化器"); - MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); - converter.setObjectMapper(new JacksonObjectMapper()); - converters.add(0,converter); - } -} diff --git a/race special/server/src/main/java/org/example/server/configuration/WebSocketConfiguration.java b/race special/server/src/main/java/org/example/server/configuration/WebSocketConfiguration.java deleted file mode 100644 index 48d5b22..0000000 --- a/race special/server/src/main/java/org/example/server/configuration/WebSocketConfiguration.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.example.server.configuration; - -import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.socket.server.standard.ServerEndpointExporter; - -/** - * WebSocket配置类,用于注册WebSocket的Bean - */ -@Configuration -public class WebSocketConfiguration { - - @Bean - @ConditionalOnWebApplication - public ServerEndpointExporter serverEndpointExporter() { - return new ServerEndpointExporter(); - } -/*这个代码我之后并没有创建它的对象,是不是可以推测这个被注入到ioc容器之后,依赖底层会进行某些操作需要用到他 -是的,当你使用 @Bean 注解将 ServerEndpointExporter 方法注册到 Spring 的 IOC 容器中,即便你在代码里没有显式创建它的对象,底层框架也会用到它。 -ServerEndpointExporter 是 Spring 对 JSR - 356(Java API for WebSocket)的支持组件,它的主要作用是扫描带有 @ServerEndpoint 注解的类,然后将这些 WebSocket 端点注册到 Spring 容器里,从而让 WebSocket 端点能够被 Spring 管理。 -下面是它的具体工作流程: -注册到 IOC 容器:借助 @Bean 注解,ServerEndpointExporter 实例会被注册到 Spring 的 IOC 容器中。 -自动扫描:ServerEndpointExporter 会自动扫描项目里所有带有 @ServerEndpoint 注解的类。 -端点注册:把扫描到的 @ServerEndpoint 注解类注册为 WebSocket 端点,如此一来,这些端点就能处理 WebSocket 连接与消息了。 -所以,即便你没有在代码中显式创建 ServerEndpointExporter 对象,Spring 框架在启动时会自动调用 serverEndpointExporter() 方法, -创建 ServerEndpointExporter 实例,进而完成 WebSocket 端点的注册工作。*/ - /*工作机制 -ServerEndpointExporter的作用:ServerEndpointExporter属于 Spring 框架里专门用于 WebSocket 的一个组件。它的主要功能是扫描项目里所有带有@ServerEndpoint注解的类, -并且将这些类注册到 WebSocket 服务器中。 -生命周期回调:当 Spring 容器完成ServerEndpointExporter这个 Bean 的创建后,会调用其afterPropertiesSet方法(ServerEndpointExporter实现了InitializingBean接口)。 -在这个方法里,ServerEndpointExporter会扫描所有带有@ServerEndpoint注解的类,然后把这些类注册到底层的 WebSocket 服务器里。*/ - /*是的,被注入到 Spring IOC(控制反转)容器中的实例,并非所有方法都会自动执行。下面从不同情况来详细分析: -1. 常规方法不会自动执行 -在 Spring IOC 容器里,一个 Bean 实例化后, -只有特定的方法会被自动调用,而普通的业务方法不会自动执行 -import org.springframework.stereotype.Component; - -@Component -public class MyService { - - public void doSomething() { - System.out.println("Doing something..."); - } -} -在上述代码中,MyService类被标记为@Component, -会被 Spring IOC 容器管理。但doSomething方法不会自动执行, -只有在其他代码中显式调用时才会执行 -. 特定生命周期方法会自动执行 -Spring IOC 容器会在特定的生命周期阶段自动调用一些方法,常见的有以下几种情况: -实现InitializingBean接口 -当一个 Bean 实现了InitializingBean接口, -Spring 会在 Bean 的属性设置完成后调用afterPropertiesSet方法 -使用@PostConstruct注解 -使用@PostConstruct注解标注的方法会在 Bean 的依赖注入完成后自动执行。*/ -//so easy,这就是生命周期的意义吗,啊,爽了 -} diff --git a/race special/server/src/main/java/org/example/server/controller/ai/test.java b/race special/server/src/main/java/org/example/server/controller/ai/test.java deleted file mode 100644 index a47a236..0000000 --- a/race special/server/src/main/java/org/example/server/controller/ai/test.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.example.server.controller.ai; - -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@Slf4j -@RequestMapping("/test") -public class test { - @PostMapping("/test1") - public String test1() { - return "test1"; - } -} diff --git a/race special/server/src/main/java/org/example/server/controller/user/ai.java b/race special/server/src/main/java/org/example/server/controller/user/ai.java deleted file mode 100644 index f8ea6c1..0000000 --- a/race special/server/src/main/java/org/example/server/controller/user/ai.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.example.server.controller.user; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.example.result.Result; -import org.example.server.service.AiService; -import org.example.utils.AiUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; -import java.util.HashMap; -import java.util.Map; - -@RestController -@Slf4j -@RequestMapping("/user") -@Api("用户端ai开发") -public class ai { - @Autowired - private AiUtil aiUtil; - @Autowired - private AiService aiService; - @PostMapping("/questionSimple") - @ApiOperation(value="简单文本输出",notes = "服务器会自动生成或获取SessionID,用于会话管理") - public Result> questionSimple(HttpSession session, @RequestParam String question) throws Exception { - String id = session.getId(); - log.info("这是sessionid,{} question,{}",session.getId(),question); - Map map = new HashMap<>(); - map.put("SessionId",id); - //前端一定要保存下来sessionId,不保存也行其实 - String respond=aiService.question(id,question); - map.put("Respond",respond); - return Result.success(map); - - } - - - - - - -} diff --git a/race special/server/src/main/java/org/example/server/handler/GlobalExceptionHandler.java b/race special/server/src/main/java/org/example/server/handler/GlobalExceptionHandler.java deleted file mode 100644 index 11824bb..0000000 --- a/race special/server/src/main/java/org/example/server/handler/GlobalExceptionHandler.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.example.server.handler; - - -import lombok.extern.slf4j.Slf4j; -import org.example.constant.MessageConstant; -import org.example.exception.BaseException; -import org.example.result.Result; -import org.springframework.web.bind.annotation.ExceptionHandler; -import org.springframework.web.bind.annotation.RestControllerAdvice; - -import java.sql.SQLIntegrityConstraintViolationException; - -/** - * 全局异常处理器,处理项目中抛出的业务异常 - */ -@RestControllerAdvice -@Slf4j -public class GlobalExceptionHandler { - - /** - * 捕获业务异常 - * @param ex - * @return - */ - @ExceptionHandler - public Result exceptionHandler(BaseException ex){ - log.error("异常信息:{}", ex.getMessage()); - return Result.error(ex.getMessage()); - } - @ExceptionHandler - public Result exceptionHandler(SQLIntegrityConstraintViolationException ex){ - log.error("异常信息{}", ex.getMessage()); - if(ex.getMessage().contains("Duplicate entry")){ - String []split = ex.getMessage().split(" "); - String username=split[2]; - String message=username+ MessageConstant.ALREADY_EXITS; - return Result.error(message); - }else{ - return Result.error(MessageConstant.UNKNOWN_ERROR); - - } - } -} diff --git a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenAdminInterceptor.java b/race special/server/src/main/java/org/example/server/interceptor/JwtTokenAdminInterceptor.java deleted file mode 100644 index 5904120..0000000 --- a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenAdminInterceptor.java +++ /dev/null @@ -1,63 +0,0 @@ -package org.example.server.interceptor; - -import io.jsonwebtoken.Claims; -import lombok.extern.slf4j.Slf4j; -import org.example.constant.JwtClaimsConstant; -import org.example.context.BaseContext; -import org.example.properties.JwtProperties; -import org.example.utils.JwtUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * jwt令牌校验的拦截器 - */ -@Component -@Slf4j -public class JwtTokenAdminInterceptor implements HandlerInterceptor { - - @Autowired - private JwtProperties jwtProperties; - - /** - * 校验jwt - * - * @param request - * @param response - * @param handler - * @return - * @throws Exception - */ - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - System.out.println("线程id"+Thread.currentThread().getId()); - - //判断当前拦截到的是Controller的方法还是其他资源 - if (!(handler instanceof HandlerMethod)) { - //当前拦截到的不是动态方法,直接放行 - return true; - } - - //1、从请求头中获取令牌 - String token = request.getHeader(jwtProperties.getAdminTokenName()); - - //2、校验令牌 - try { - log.info("jwt校验:{}", token); - Claims claims = JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token); - Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString()); - BaseContext.setCurrentId(empId); - log.info("当前员工id{}", empId); - //3、通过,放行 - return true; - } catch (Exception ex) { - //4、不通过,响应401状态码 - response.setStatus(401); - return false; - } - } -} diff --git a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenUserceptor.java b/race special/server/src/main/java/org/example/server/interceptor/JwtTokenUserceptor.java deleted file mode 100644 index fce23e9..0000000 --- a/race special/server/src/main/java/org/example/server/interceptor/JwtTokenUserceptor.java +++ /dev/null @@ -1,69 +0,0 @@ -package org.example.server.interceptor; - -import io.jsonwebtoken.Claims; -import lombok.extern.slf4j.Slf4j; -import org.example.constant.JwtClaimsConstant; -import org.example.context.BaseContext; -import org.example.properties.JwtProperties; -import org.example.utils.JwtUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * jwt令牌校验的拦截器 - */ -@Component -@Slf4j -public class JwtTokenUserceptor implements HandlerInterceptor { - - @Autowired - private JwtProperties jwtProperties; - - /** - * 校验jwt - * - * @param request - * @param response - * @param handler - * @return - * @throws Exception - */ - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { - System.out.println("线程id"+Thread.currentThread().getId()); - - //判断当前拦截到的是Controller的方法还是其他资源 - if (!(handler instanceof HandlerMethod)) { - //当前拦截到的不是动态方法,直接放行 - return true; - } - - //1、从请求头中获取令牌 - String token = request.getHeader(jwtProperties.getUserTokenName()); - //1、从请求头中获取令牌 - - if (token == null) { - log.info("请求头中未包含JWT令牌"); - response.setStatus(401); - return false; - } - //2、校验令牌 - try { - log.info("jwt校验:{}", token); - Claims claims = JwtUtil.parseJWT(jwtProperties.getUserSecretKey(), token); - Long userId = Long.valueOf(claims.get(JwtClaimsConstant.USER_ID).toString()); - BaseContext.setCurrentId(userId); - log.info("当前员工id{}", userId); - //3、通过,放行 - return true; - } catch (Exception ex) { - //4、不通过,响应401状态码 - response.setStatus(401); - return false; - } - } -} diff --git a/race special/server/src/main/java/org/example/server/mapper/AiMapper.java b/race special/server/src/main/java/org/example/server/mapper/AiMapper.java deleted file mode 100644 index 1678658..0000000 --- a/race special/server/src/main/java/org/example/server/mapper/AiMapper.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.example.server.mapper; - -import org.apache.ibatis.annotations.Mapper; - -@Mapper -public interface AiMapper { -} diff --git a/race special/server/src/main/java/org/example/server/service/AiService.java b/race special/server/src/main/java/org/example/server/service/AiService.java deleted file mode 100644 index dae0106..0000000 --- a/race special/server/src/main/java/org/example/server/service/AiService.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.example.server.service; - -import javax.servlet.http.HttpSession; - -public interface AiService { - String question(String SessionId, String question) throws Exception; -} diff --git a/race special/server/src/main/java/org/example/server/service/Aiserviceimpl.java b/race special/server/src/main/java/org/example/server/service/Aiserviceimpl.java deleted file mode 100644 index 9bdbebe..0000000 --- a/race special/server/src/main/java/org/example/server/service/Aiserviceimpl.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.example.server.service; - -import org.example.utils.AiUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.servlet.http.HttpSession; - -@Service -public class Aiserviceimpl implements AiService{ - @Autowired - private AiUtil aiUtil; - @Override - public String question(String SessionId, String question) throws Exception { - return aiUtil.getString(question, SessionId); - } -} diff --git a/race special/server/src/main/java/org/example/server/websocket/WebSocketServer.java b/race special/server/src/main/java/org/example/server/websocket/WebSocketServer.java deleted file mode 100644 index 557e5bf..0000000 --- a/race special/server/src/main/java/org/example/server/websocket/WebSocketServer.java +++ /dev/null @@ -1,68 +0,0 @@ -package org.example.server.websocket; - -import org.springframework.stereotype.Component; - -import javax.websocket.OnClose; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.PathParam; -import javax.websocket.server.ServerEndpoint; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -/** - * WebSocket服务 - */ - -@Component -@ServerEndpoint("/ws/{sid}") -public class WebSocketServer { - - //存放会话对象 - private static Map sessionMap = new HashMap(); - - /** - * 连接建立成功调用的方法 - */ - - @OnOpen - public void onOpen(Session session, @PathParam("sid") String sid) { - System.out.println("客户端:" + sid + "建立连接"); - sessionMap.put(sid, session); - } - - /** - * 收到客户端消息后调用的方法 - * - * @param message 客户端发送过来的消息 - */ - - @OnMessage - public void onMessage(String message, @PathParam("sid") String sid) { - System.out.println("收到来自客户端:" + sid + "的信息:" + message); - } - - /** - * 连接关闭调用的方法 - * - * @param sid - */ - @OnClose - public void onClose(Session session, @PathParam("sid") String sid) { - sessionMap.remove(sid); - } - public void sendToAllClient(String message) { - Collection sessions = sessionMap.values(); - for (Session session : sessions) { - try { - //服务器向客户端发送消息 - session.getBasicRemote().sendText(message); - } catch (Exception e) { - e.printStackTrace(); - } - } - } -//妙啊,这些东西都是谁设计出来的,太尼玛的牛逼了,这思维,啊啊啊啊啊啊啊啊 -} diff --git a/race special/server/src/main/resources/application-dev.yml b/race special/server/src/main/resources/application-dev.yml deleted file mode 100644 index 9a73c26..0000000 --- a/race special/server/src/main/resources/application-dev.yml +++ /dev/null @@ -1,35 +0,0 @@ -race: - deepseek: - api-key: sk-b6baa9fc68b742f780fc9b64f4635868 - api-key1: sk-d88586a4d04744c2a0fea3a0e2841aca - deep-seek-url: https://api.deepseek.com/chat/completions - tong-ying-url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /vivogpt/completions - request-url: https://api-ai.vivo.com.cn/vivogpt/completions - picture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_submit - request-url: https://api-ai.vivo.com.cn/api/v1/task_submit - querypicture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_progress - request-url: https://api-ai.vivo.com.cn/api/v1/task_progress - datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - host: 10.9.29.24 - port: 3306 - database: sky_take_out - username: root - password: zhang20061023@ - redis: - host: localhost - port: 6379 - #password: 123456 - database: 0 diff --git a/race special/server/src/main/resources/application.yml b/race special/server/src/main/resources/application.yml deleted file mode 100644 index 2249ffd..0000000 --- a/race special/server/src/main/resources/application.yml +++ /dev/null @@ -1,67 +0,0 @@ - -server: - port: 8080 - -spring: - profiles: - active: dev - main: - allow-circular-references: true - datasource: - druid: - driver-class-name: ${race.datasource.driver-class-name} - url: jdbc:mysql://${race.datasource.host}:${race.datasource.port}/${race.datasource.database}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true - username: ${race.datasource.username} - password: ${race.datasource.password} - redis: - host: ${race.redis.host} - port: ${race.redis.port} - password: ${race.redis.password} - database: ${race.redis.database} -mybatis: - mapper-locations: classpath:mapper/*.xml - type-aliases-package: org.example.entity - configuration: - map-underscore-to-camel-case: true -#mapper配置文件 -logging: - level: - org: - example: - mapper: debug - service: info - controller: info -race: - jwt: - admin-ttl: 7200000000000000000 - # 设置前端传递过来的令牌名称 - user-secret-key: itheima - user-ttl: 7200000000000 - user-token-name: authentication - admin-token-name: token - admin-secret-key: itcast - deepseek: - api-key: ${sky.deepseek.api-key} - api-key1: ${sky.deepseek.api-key1} - deep-seek-url: ${sky.deepseek.deep-seek-url} - tong-ying-url: ${sky.deepseek.tong-ying-url} - app-id: ${race.deepseek.app-id} - app-key: ${race.deepseek.app-key} - http-method: ${race.deepseek.http-method} - http-url: ${race.deepseek.http-url} - request-url: ${race.deepseek.request-url} - picture: - app-id: ${race.picture.app-id} - app-key: ${race.picture.app-key} - http-method: ${race.picture.http-method} - http-url: ${race.picture.http-url} - request-url: ${race.picture.request-url} - querypicture: - app-id: ${race.querypicture.app-id} - app-key: ${race.querypicture.app-key} - http-method: ${race.querypicture.http-method} - http-url: ${race.querypicture.http-url} - request-url: ${race.querypicture.request-url} -springfox: - documentation: - enabled: false \ No newline at end of file diff --git a/race special/server/src/test/java/org/example/testServer/ServerApplicationTests.java b/race special/server/src/test/java/org/example/testServer/ServerApplicationTests.java deleted file mode 100644 index 4ae4ff7..0000000 --- a/race special/server/src/test/java/org/example/testServer/ServerApplicationTests.java +++ /dev/null @@ -1,274 +0,0 @@ -package org.example.testServer; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.apache.http.Header; -import org.apache.http.HttpEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; -import org.example.server.ServerApplication; -import org.example.server.configuration.WebSocketConfiguration; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.web.bind.annotation.RequestHeader; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.servlet.http.HttpSession; -import javax.websocket.Session; -import java.io.*; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; -import java.security.InvalidKeyException; -import java.security.NoSuchAlgorithmException; -import java.security.SecureRandom; -import java.time.Instant; -import java.util.Base64; -import java.util.Dictionary; -import java.util.UUID; - -import static org.mockito.Mockito.when; - -@SpringBootTest( classes = ServerApplication.class, // 显式指定主应用类 - webEnvironment = SpringBootTest.WebEnvironment.NONE) -class ServerApplicationTests { -//蓝心大模型AppID -//2025158089 -//蓝心大模型AppKEY -//FIKXhKoeMNzWSCLV - @Test - void contextLoads() throws IOException { - CloseableHttpClient httpclient = HttpClients.createDefault(); - HttpPost httppost = new HttpPost("https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions"); - httppost.setHeader("Content-Type", "application/json"); - httppost.setHeader("Accept", "application/json"); - httppost.setHeader("Authorization", "Bearer " + "sk-d88586a4d04744c2a0fea3a0e2841aca"); - String requestBody = "{\"model\": \"qwen-plus\", \"messages\": [" + - "{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}," + - "{\"role\": \"user\", \"content\":\"" + "你好,请解释一下级数的概念,详细一点" + "\" }" + - "], \"stream\": true,\"stream_options\":{\"include_usage\":true}}"; - HttpEntity requestEntity = new StringEntity(requestBody, StandardCharsets.UTF_8); - httppost.setEntity(requestEntity); - CloseableHttpResponse response = httpclient.execute(httppost); - if (response.getStatusLine().getStatusCode() == 200) { - InputStream content = response.getEntity().getContent(); - InputStreamReader reader = new InputStreamReader(content, StandardCharsets.UTF_8); - BufferedReader br = new BufferedReader(reader); - String length; - while ((length = br.readLine()) != null) { - if (length.startsWith("data: ")) { - String jsonPart = length.substring(6).trim(); - if ("[DONE]".equals(jsonPart)) { - break; - } - JSONObject jsonObject = JSONObject.parseObject(jsonPart); - JSONArray jsonArray = jsonObject.getJSONArray("choices"); - for (Object object : jsonArray) { - JSONObject json = (JSONObject) object; - JSONObject jsonobject = json.getJSONObject("delta"); - String string = jsonobject.getString("content"); - System.out.println(string); - } - } - } - } - response.close(); - } - @MockBean - private HttpSession session; - @Test - void test(/*Session session*/) throws Exception { - CloseableHttpClient httpclient = HttpClients.createDefault(); - // 构建HTTP请求 - String appId = "2025158089"; - String appKey = "FIKXhKoeMNzWSCLV"; - String httpMethod = "POST"; - //String httpUri = "/vivogpt/completions"; - String httpUri="/api/v1/task_submit"; - //String requestUrl = "https://api-ai.vivo.com.cn" + httpUri; - String requestUrl="https://api-ai.vivo.com.cn"+httpUri; - //生成八位随机字符串 - final String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; - StringBuilder sb = new StringBuilder(8); - SecureRandom secureRandom = new SecureRandom(); - for (int i = 0; i < 8; i++) { - int randomIndex = secureRandom.nextInt(ALPHABET.length()); - sb.append(ALPHABET.charAt(randomIndex)); - } - String string = sb.toString(); - UUID requestId = UUID.randomUUID(); - /*URIBuilder builder = new URIBuilder(requestUrl); - builder.addParameter("requestId", requestId.toString()); - //builder.addParameter("requestId", URLEncoder.encode(requestId.toString(),StandardCharsets.UTF_8.toString())); - URI uri = builder.build();*/ - HttpPost httpPost = new HttpPost(requestUrl); - httpPost.setHeader("Content-Type", "application/json"); - httpPost.setHeader("X-AI-GATEWAY-APP-ID","2025158089"); - long epochSecond = Instant.now().getEpochSecond(); - httpPost.setHeader("X-AI-GATEWAY-TIMESTAMP",epochSecond+""); - httpPost.setHeader("X-AI-GATEWAY-NONCE",string); - //String canonicalQueryString="requestId="+requestId; - String canonicalQueryString=""; - String s = calculateSignature(httpMethod, httpUri, canonicalQueryString, appId, epochSecond, string, appKey); - httpPost.setHeader("X-AI-GATEWAY-SIGNATURE",s); - httpPost.setHeader("X-AI-GATEWAY-SIGNED-HEADERS","x-ai-gateway-app-id;x-ai-gateway-timestamp;x-ai-gateway-nonce"); - // 生成合法的 UUID 字符串 - when(session.getId()).thenReturn(String.valueOf(requestId)); - String id = session.getId(); - UUID uuid = UUID.fromString(id); - /*String systemPrompt="你是一个生活小贴士,专门用来为别人做每一天的生活规划的。"; - String requestBody = "{" + - "\"messages\":[" + - "{\"role\":\"user\",\"content\":\"你好呀\"}," + - "{\"role\":\"assistant\",\"content\":\"你好!我是vivo助手,有什么可以帮助你的吗?\"}," + - "{\"role\":\"user\",\"content\":\"今天天气如何?\"}," + - "{\"role\":\"assistant\",\"content\":\"根据天气预报,今天天气晴朗,气温25℃,非常适合户外活动。\"}," + - "{\"role\":\"user\",\"content\":\"适合穿什么衣服?\"}" + - "]," + - "\"model\":\"vivo-BlueLM-TB-Pro\"," + - "\"sessionId\":\"" + uuid + "\"," + - "\"systemPrompt\":\"" + systemPrompt + "\"," + - "\"extra\":{" + - "\"temperature\":0.9," + - "\"top_p\":0.7," + - "\"top_k\":50," + - "\"max_new_tokens\":2048," + - "\"repetition_penalty\":1.02" + - "}" + - "}"; - // 在 httpclient.execute(httpPost) 前添加以下调试代码 - System.out.println("===== 请求调试信息 ====="); - System.out.println("Request URL: " + httpPost.getURI()); - System.out.println("Headers:"); - for (Header header : httpPost.getAllHeaders()) { - System.out.println(" " + header.getName() + ": " + header.getValue()); - } - System.out.println("Canonical Query String: " + canonicalQueryString); - System.out.println("Signing String: " + s); // 在 calculateSignature 方法中添加打印 - System.out.println("Generated Signature: " + s); - System.out.println("=======================");*/ - String requestBody = "{" + - "\"dataId\": \"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4\"," + - "\"businessCode\": \"pc\"," + - "\"userAccount\": \"openid_123456\"," + - "\"prompt\": \"梦泪老师在偷塔\"," + - "\"imageType\": 1," + - "\"styleConfig\": \"4cbc9165bc615ea0815301116e7925a3\"," + - "\"height\": 512," + - "\"width\": 512," + - "\"seed\": -1," + - "\"cfgScale\": 7," + - "\"denoisingStrength\": 0.1," + - "\"ctrlNetStrength\": 0.5," + - "\"steps\": 15," + - "\"negativePrompt\": \"低分辨率, 扭曲的面部\"" + - "}"; - httpPost.setEntity(new StringEntity(requestBody, StandardCharsets.UTF_8)); - CloseableHttpResponse response = httpclient.execute(httpPost); - if (response.getStatusLine().getStatusCode() == 200) { - /* HttpEntity entity = response.getEntity(); - JSONObject jsonObject = JSONObject.parseObject(EntityUtils.toString(entity)); - jsonObject = jsonObject.getJSONObject("data"); - String string1 = jsonObject.getString("content"); - System.out.println(string1);*/ - HttpEntity entity = response.getEntity(); - JSONObject jsonObject = JSONObject.parseObject(EntityUtils.toString(entity)); - JSONObject result = jsonObject.getJSONObject("result"); - String string1 = result.getString("task_id"); - //开始查询作画任务 - response.close(); - httpclient.close(); - String httpurL="/api/v1/task_progress"; - String requestURL="https://api-ai.vivo.com.cn"+httpurL; - CloseableHttpClient httpclient1 = HttpClients.createDefault(); - for(int i=0;i<5;i++) { - URIBuilder uriBuilder = new URIBuilder(requestURL); - uriBuilder.addParameter("task_id", string1); - URI build = uriBuilder.build(); - HttpGet httpGet = new HttpGet(build); - String canonicalQueryString1 = "task_id=" + string1; - httpGet.setHeader("X-AI-GATEWAY-TIMESTAMP", epochSecond + ""); - httpGet.setHeader("X-AI-GATEWAY-NONCE", string); - httpGet.setHeader("X-AI-GATEWAY-SIGNED-HEADERS", "x-ai-gateway-app-id;x-ai-gateway-timestamp;x-ai-gateway-nonce"); - String s1 = calculateSignature("GET", httpurL, canonicalQueryString1, appId, epochSecond, string, appKey); - httpGet.setHeader("X-AI-GATEWAY-SIGNATURE", s1); - httpGet.setHeader("Content-Type", "application/json"); - httpGet.setHeader("X-AI-GATEWAY-APP-ID", "2025158089"); - CloseableHttpResponse execute = httpclient1.execute(httpGet); - if (execute.getStatusLine().getStatusCode() == 200) { - // 1. 一次性读取完整响应内容(推荐使用 EntityUtils) - String responseBody = EntityUtils.toString(execute.getEntity()); - - // 2. 解析完整的 JSON 对象 - JSONObject jsonObject1 = JSONObject.parseObject(responseBody); - JSONObject result1 = jsonObject1.getJSONObject("result"); - Integer status = result1.getInteger("status"); - System.out.println(responseBody); - // 3. 检查任务状态 - if (status==2) { - System.out.println("任务完成,响应内容:"); - System.out.println(responseBody); - break;// 直接打印完整响应 - // 此处可提取 images_url 等信息 - } else { - System.out.println("任务未完成,当前状态:" + status); - } - } else { - System.out.println("HTTP请求失败,状态码:" + execute.getStatusLine().getStatusCode()); - } - if (i < 4) { - Thread.sleep(3000); - } - } - - } - - - } - private static String calculateSignature( - String httpMethod, - String httpUri, - String canonicalQueryString, - String appId, - long timestamp, // 输入为 long 类型 - String nonce, - String appKey) throws Exception { - - // 显式将 timestamp 转换为字符串 - String timestampStr = String.valueOf(timestamp); - - // 构建签名字符串(所有参数均为字符串) - String signingString = String.join("\n", - httpMethod.toUpperCase(), // POST - httpUri, // /vivogpt/completions - canonicalQueryString, // requestId=xxx - appId, // "2025158089" - timestampStr, // "1745768181"(显式转换) - "x-ai-gateway-app-id:" + appId, // 头部字段 - "x-ai-gateway-timestamp:" + timestampStr, // 使用转换后的字符串 - "x-ai-gateway-nonce:" + nonce - ); - - // 打印调试信息(确保 timestamp 为字符串形式) - System.out.println("Timestamp String: " + timestampStr); - System.out.println("Signing String:\n" + signingString); - - // 计算 HMAC-SHA256(不变) - Mac sha256Hmac = Mac.getInstance("HmacSHA256"); - SecretKeySpec secretKey = new SecretKeySpec(appKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); - sha256Hmac.init(secretKey); - byte[] hashBytes = sha256Hmac.doFinal(signingString.getBytes(StandardCharsets.UTF_8)); - - return Base64.getEncoder().encodeToString(hashBytes); - } -} diff --git a/race special/server/target/classes/application-dev.yml b/race special/server/target/classes/application-dev.yml deleted file mode 100644 index 9a73c26..0000000 --- a/race special/server/target/classes/application-dev.yml +++ /dev/null @@ -1,35 +0,0 @@ -race: - deepseek: - api-key: sk-b6baa9fc68b742f780fc9b64f4635868 - api-key1: sk-d88586a4d04744c2a0fea3a0e2841aca - deep-seek-url: https://api.deepseek.com/chat/completions - tong-ying-url: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /vivogpt/completions - request-url: https://api-ai.vivo.com.cn/vivogpt/completions - picture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_submit - request-url: https://api-ai.vivo.com.cn/api/v1/task_submit - querypicture: - app-id: 2025158089 - app-key: FIKXhKoeMNzWSCLV - http-method: POST - http-url: /api/v1/task_progress - request-url: https://api-ai.vivo.com.cn/api/v1/task_progress - datasource: - driver-class-name: com.mysql.cj.jdbc.Driver - host: 10.9.29.24 - port: 3306 - database: sky_take_out - username: root - password: zhang20061023@ - redis: - host: localhost - port: 6379 - #password: 123456 - database: 0 diff --git a/race special/server/target/classes/application.yml b/race special/server/target/classes/application.yml deleted file mode 100644 index 2249ffd..0000000 --- a/race special/server/target/classes/application.yml +++ /dev/null @@ -1,67 +0,0 @@ - -server: - port: 8080 - -spring: - profiles: - active: dev - main: - allow-circular-references: true - datasource: - druid: - driver-class-name: ${race.datasource.driver-class-name} - url: jdbc:mysql://${race.datasource.host}:${race.datasource.port}/${race.datasource.database}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true - username: ${race.datasource.username} - password: ${race.datasource.password} - redis: - host: ${race.redis.host} - port: ${race.redis.port} - password: ${race.redis.password} - database: ${race.redis.database} -mybatis: - mapper-locations: classpath:mapper/*.xml - type-aliases-package: org.example.entity - configuration: - map-underscore-to-camel-case: true -#mapper配置文件 -logging: - level: - org: - example: - mapper: debug - service: info - controller: info -race: - jwt: - admin-ttl: 7200000000000000000 - # 设置前端传递过来的令牌名称 - user-secret-key: itheima - user-ttl: 7200000000000 - user-token-name: authentication - admin-token-name: token - admin-secret-key: itcast - deepseek: - api-key: ${sky.deepseek.api-key} - api-key1: ${sky.deepseek.api-key1} - deep-seek-url: ${sky.deepseek.deep-seek-url} - tong-ying-url: ${sky.deepseek.tong-ying-url} - app-id: ${race.deepseek.app-id} - app-key: ${race.deepseek.app-key} - http-method: ${race.deepseek.http-method} - http-url: ${race.deepseek.http-url} - request-url: ${race.deepseek.request-url} - picture: - app-id: ${race.picture.app-id} - app-key: ${race.picture.app-key} - http-method: ${race.picture.http-method} - http-url: ${race.picture.http-url} - request-url: ${race.picture.request-url} - querypicture: - app-id: ${race.querypicture.app-id} - app-key: ${race.querypicture.app-key} - http-method: ${race.querypicture.http-method} - http-url: ${race.querypicture.http-url} - request-url: ${race.querypicture.request-url} -springfox: - documentation: - enabled: false \ No newline at end of file diff --git a/race special/server/target/classes/org/example/server/ServerApplication.class b/race special/server/target/classes/org/example/server/ServerApplication.class deleted file mode 100644 index d638de3..0000000 Binary files a/race special/server/target/classes/org/example/server/ServerApplication.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/configuration/AiConfiguration.class b/race special/server/target/classes/org/example/server/configuration/AiConfiguration.class deleted file mode 100644 index f778ad8..0000000 Binary files a/race special/server/target/classes/org/example/server/configuration/AiConfiguration.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/configuration/WebMvcConfiguration.class b/race special/server/target/classes/org/example/server/configuration/WebMvcConfiguration.class deleted file mode 100644 index 02c936b..0000000 Binary files a/race special/server/target/classes/org/example/server/configuration/WebMvcConfiguration.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/configuration/WebSocketConfiguration.class b/race special/server/target/classes/org/example/server/configuration/WebSocketConfiguration.class deleted file mode 100644 index 5e6af61..0000000 Binary files a/race special/server/target/classes/org/example/server/configuration/WebSocketConfiguration.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/controller/ai/test.class b/race special/server/target/classes/org/example/server/controller/ai/test.class deleted file mode 100644 index ebc3b5b..0000000 Binary files a/race special/server/target/classes/org/example/server/controller/ai/test.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/controller/user/ai.class b/race special/server/target/classes/org/example/server/controller/user/ai.class deleted file mode 100644 index 22fdbd6..0000000 Binary files a/race special/server/target/classes/org/example/server/controller/user/ai.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/handler/GlobalExceptionHandler.class b/race special/server/target/classes/org/example/server/handler/GlobalExceptionHandler.class deleted file mode 100644 index 72cd2b5..0000000 Binary files a/race special/server/target/classes/org/example/server/handler/GlobalExceptionHandler.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/interceptor/JwtTokenAdminInterceptor.class b/race special/server/target/classes/org/example/server/interceptor/JwtTokenAdminInterceptor.class deleted file mode 100644 index 08d9e2a..0000000 Binary files a/race special/server/target/classes/org/example/server/interceptor/JwtTokenAdminInterceptor.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/interceptor/JwtTokenUserceptor.class b/race special/server/target/classes/org/example/server/interceptor/JwtTokenUserceptor.class deleted file mode 100644 index 3701ca3..0000000 Binary files a/race special/server/target/classes/org/example/server/interceptor/JwtTokenUserceptor.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/mapper/AiMapper.class b/race special/server/target/classes/org/example/server/mapper/AiMapper.class deleted file mode 100644 index 885562e..0000000 Binary files a/race special/server/target/classes/org/example/server/mapper/AiMapper.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/service/AiService.class b/race special/server/target/classes/org/example/server/service/AiService.class deleted file mode 100644 index ff71071..0000000 Binary files a/race special/server/target/classes/org/example/server/service/AiService.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/service/Aiserviceimpl.class b/race special/server/target/classes/org/example/server/service/Aiserviceimpl.class deleted file mode 100644 index 693e2ec..0000000 Binary files a/race special/server/target/classes/org/example/server/service/Aiserviceimpl.class and /dev/null differ diff --git a/race special/server/target/classes/org/example/server/websocket/WebSocketServer.class b/race special/server/target/classes/org/example/server/websocket/WebSocketServer.class deleted file mode 100644 index 15072fe..0000000 Binary files a/race special/server/target/classes/org/example/server/websocket/WebSocketServer.class and /dev/null differ diff --git a/race special/server/target/test-classes/org/example/testServer/ServerApplicationTests.class b/race special/server/target/test-classes/org/example/testServer/ServerApplicationTests.class deleted file mode 100644 index 8de2a16..0000000 Binary files a/race special/server/target/test-classes/org/example/testServer/ServerApplicationTests.class and /dev/null differ diff --git a/src/@types/request.d.ts b/src/@types/request.d.ts new file mode 100644 index 0000000..36db081 --- /dev/null +++ b/src/@types/request.d.ts @@ -0,0 +1,4 @@ +declare module "@/utils/request" { + const request: any; // 如果你知道具体类型,可以替换 `any` + export default request; +} \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..38cd007 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/src/api/index.ts b/src/api/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/api/interface/index.ts b/src/api/interface/index.ts new file mode 100644 index 0000000..9486dbf --- /dev/null +++ b/src/api/interface/index.ts @@ -0,0 +1,9 @@ +import request from "@/utils/request" +import { type aiChatForm , type aiResponseData} from '@/api/interface/type' + +enum API { + AICHAT_URL = "/questionSimple" +} +//对外暴露请求函数 + +export const reqAiChat = (data: aiChatForm) => request.post(API.AICHAT_URL, data) as Promise; \ No newline at end of file diff --git a/src/api/interface/type.ts b/src/api/interface/type.ts new file mode 100644 index 0000000..4a09cf2 --- /dev/null +++ b/src/api/interface/type.ts @@ -0,0 +1,9 @@ +//AI接口参数 +export interface aiChatForm { + answer: string; +} + +export interface aiResponseData { + code:number, + Respond:string +} \ No newline at end of file diff --git a/src/api/user/index.ts b/src/api/user/index.ts new file mode 100644 index 0000000..034336c --- /dev/null +++ b/src/api/user/index.ts @@ -0,0 +1,16 @@ +//用户相关接口 +import request from "@/utils/request"; +import { type loginForm ,type userResponseData} from '@/api/user/type'; + +//统一管理接口 +enum API{ + LOGIN_URL = "/login", + REGISTER_URL = "/user/register" +} +//对外暴露请求函数 + +//登录接口方法 +export const reqLogin = (data: loginForm) => request.post(API.LOGIN_URL, data) as Promise; + +//注册用户信息接口方法 +export const reqRegiter = (data: loginForm) => request.post(API.REGISTER_URL, data) as Promise; \ No newline at end of file diff --git a/src/api/user/type.ts b/src/api/user/type.ts new file mode 100644 index 0000000..6fc5e77 --- /dev/null +++ b/src/api/user/type.ts @@ -0,0 +1,12 @@ +//登录接口参数 +export interface loginForm{ + username:string, + password:string + email: string, +} + +//登录,注册返回数据类型 +export interface userResponseData { + code:number, + msg:string +} \ No newline at end of file diff --git a/src/assets/base.css b/src/assets/base.css new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/login.png b/src/assets/login.png new file mode 100644 index 0000000..4fdab0c Binary files /dev/null and b/src/assets/login.png differ diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 0000000..7565660 --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1 @@ + diff --git a/src/assets/main.css b/src/assets/main.css new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/register.png b/src/assets/register.png new file mode 100644 index 0000000..2d98087 Binary files /dev/null and b/src/assets/register.png differ diff --git a/src/components/charts.vue b/src/components/charts.vue new file mode 100644 index 0000000..fbf071e --- /dev/null +++ b/src/components/charts.vue @@ -0,0 +1,163 @@ + + + + + + diff --git a/src/components/validCode.vue b/src/components/validCode.vue new file mode 100644 index 0000000..162a553 --- /dev/null +++ b/src/components/validCode.vue @@ -0,0 +1,80 @@ + + + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..6158c08 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,29 @@ +import './assets/main.css' +import * as ElementPlusIconsVue from '@element-plus/icons-vue' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' + +import { createApp } from 'vue' +import { createPinia } from 'pinia' + + +import App from './App.vue' +import router from './router' + +const app = createApp(App) + +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) +} +app.use(createPinia()) +app.use(router) + +app.mount('#app') + + + + + + +app.use(ElementPlus) + diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..beaa195 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,63 @@ +import { createRouter, createWebHistory } from 'vue-router' +import Login from '@/views/login/index.vue' +import Register from '@/views/register/index.vue' +import Home from '@/views/home.vue' +import Table from '@/views/table/index.vue' +import TableAi from '@/views/ask/tableAi.vue' +import ChatAi from '@/views/ask/chatAi.vue' +import MusicAi from '@/views/ask/musicAi.vue' +import My from '@/views/myself/my.vue' +import Used from '@/views/myself/used.vue' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: Home, + }, + { + path: '/login', + name: 'login', + component: Login, + }, + { + path: '/register', + name: 'register', + component: Register, + }, + { + path: '/table', + name: 'table', + component: Table, + }, + { + path: '/tableAi', + name: 'tableAi', + component: TableAi, + }, + { + path: '/chatAi', + name: 'chatAi', + component: ChatAi, + }, + { + path: '/musicAi', + name: 'musicAi', + component: MusicAi, + }, + { + path: '/my', + name: 'my', + component: My, + }, + { + path: '/used', + name: 'used', + component: Used, + } + ] +}) + +export default router diff --git a/src/shims-vue.d.ts b/src/shims-vue.d.ts new file mode 100644 index 0000000..e8fe42a --- /dev/null +++ b/src/shims-vue.d.ts @@ -0,0 +1,5 @@ +declare module '*.vue' { + import { DefineComponent } from 'vue'; + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/src/stores/counter.ts b/src/stores/counter.ts new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..19ed654 --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,13 @@ +/** + * @description 获取当前时间对应的提示语 + * @returns {String} + */ +export function getTimeState() { + let timeNow = new Date(); + let hours = timeNow.getHours(); + if (hours >= 6 && hours <= 10) return `早上好 ⛅`; + if (hours >= 10 && hours <= 14) return `中午好 🌞`; + if (hours >= 14 && hours <= 18) return `下午好 🌞`; + if (hours >= 18 && hours <= 24) return `晚上好 🌛`; + if (hours >= 0 && hours <= 6) return `凌晨好 🌛`; +} \ No newline at end of file diff --git a/src/utils/request.ts b/src/utils/request.ts new file mode 100644 index 0000000..e05b30c --- /dev/null +++ b/src/utils/request.ts @@ -0,0 +1,62 @@ +//axios二次封装,请求与响应拦截器 + +import axios from 'axios' +import { ElMessage } from 'element-plus'; + +//利用axios对象create方法,创建axios实例,方便配置其他设置 +let request = axios.create({ + //基础路径 + // baseURL: `${import.meta.env.VITE_API_URL}`, + baseURL: "http://localhost:8080", + timeout: 5000 +}); + +//添加请求与响应拦截器 +request.interceptors.request.use((config) => { + //config配置对象有headers属性请求头,配置一些公共参数 + //返回配置对象 + return config; +}) + +//添加响应拦截器 +request.interceptors.response.use( + //成功的回调 + (response) => { + //简化数据 + return response.data; + }, + //失败的回调 + (error) => { + // 处理 http 网络错误 + // 存储错误信息 + let message = ''; + // 修正为使用 status 获取响应状态码 + let status = error.response? error.response.status : null; + switch (status) { + case 401: + message = 'TOKEN 过期'; + break; + case 403: + message = '无权访问'; + break; + case 404: + message = '请求地址错误'; + break; + case 500: + message = '服务器出问题'; + break; + default: + message = '网络出问题了'; + } + // 假设 ElMessage 是一个消息提示组件 + ElMessage({ + type: 'error', + message, + grouping: true, + }); + + return Promise.reject(error); + }) + + // 对外暴露 +export default request; \ No newline at end of file diff --git a/src/views/ask/chatAi.vue b/src/views/ask/chatAi.vue new file mode 100644 index 0000000..4e1c891 --- /dev/null +++ b/src/views/ask/chatAi.vue @@ -0,0 +1,207 @@ + + + + + \ No newline at end of file diff --git a/src/views/ask/musicAi.vue b/src/views/ask/musicAi.vue new file mode 100644 index 0000000..fd0ceb7 --- /dev/null +++ b/src/views/ask/musicAi.vue @@ -0,0 +1,154 @@ + + + + + \ No newline at end of file diff --git a/src/views/ask/tableAi.vue b/src/views/ask/tableAi.vue new file mode 100644 index 0000000..7689a8b --- /dev/null +++ b/src/views/ask/tableAi.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/src/views/home.vue b/src/views/home.vue new file mode 100644 index 0000000..5b45a5a --- /dev/null +++ b/src/views/home.vue @@ -0,0 +1,151 @@ + + + + + \ No newline at end of file diff --git a/src/views/login/index.vue b/src/views/login/index.vue new file mode 100644 index 0000000..50a6d63 --- /dev/null +++ b/src/views/login/index.vue @@ -0,0 +1,162 @@ + + + + + + \ No newline at end of file diff --git a/src/views/myself/my.vue b/src/views/myself/my.vue new file mode 100644 index 0000000..9dab16b --- /dev/null +++ b/src/views/myself/my.vue @@ -0,0 +1,121 @@ + + + + + \ No newline at end of file diff --git a/src/views/myself/used.vue b/src/views/myself/used.vue new file mode 100644 index 0000000..365a84c --- /dev/null +++ b/src/views/myself/used.vue @@ -0,0 +1,119 @@ + + + + + \ No newline at end of file diff --git a/src/views/register/index.vue b/src/views/register/index.vue new file mode 100644 index 0000000..cb35886 --- /dev/null +++ b/src/views/register/index.vue @@ -0,0 +1,156 @@ + + + + + + \ No newline at end of file diff --git a/src/views/table/index.vue b/src/views/table/index.vue new file mode 100644 index 0000000..184f539 --- /dev/null +++ b/src/views/table/index.vue @@ -0,0 +1,180 @@ + + + + + \ No newline at end of file diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..f599fa1 --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "auto-imports.d.ts"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..a83dfc9 --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,19 @@ +{ + "extends": "@tsconfig/node22/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*", + "eslint.config.*" + ], + "compilerOptions": { + "noEmit": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..f69c120 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,27 @@ +import { fileURLToPath, URL } from 'node:url' + +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' +import vueDevTools from 'vite-plugin-vue-devtools' +import AutoImport from 'unplugin-auto-import/vite' +import Components from 'unplugin-vue-components/vite' +import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueDevTools(), + AutoImport({ + resolvers: [ElementPlusResolver()], + }), + Components({ + resolvers: [ElementPlusResolver()], + }), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + }, + }, +})