diff --git a/code/go-project/base-farmework/internal/app/handle/test.go b/code/go-project/base-farmework/internal/app/handle/test.go index 42b58375..49f1093e 100644 --- a/code/go-project/base-farmework/internal/app/handle/test.go +++ b/code/go-project/base-farmework/internal/app/handle/test.go @@ -8,7 +8,7 @@ import ( ) func Test(c *router.Context) { - + dbClient := db.NewClient(c) if dbClient == nil { return @@ -16,6 +16,7 @@ func Test(c *router.Context) { sqlStr := "SELECT id, name FROM user" rows, err := dbClient.QueryRows(sqlStr) + if err != nil { c.AddError(err) return diff --git a/code/go-project/base-farmework/pkg/middleware/error.go b/code/go-project/base-farmework/pkg/middleware/error.go index b14a5d99..46c5842b 100644 --- a/code/go-project/base-farmework/pkg/middleware/error.go +++ b/code/go-project/base-farmework/pkg/middleware/error.go @@ -2,22 +2,26 @@ package middleware import ( "base-framework/pkg/router" - "base-framework/pkg/utils/response" - "log" + "fmt" + "net/http" ) -// Error 全局业务错误处理中间件 func Error() router.HandlerFunc { return func(c *router.Context) { - // 执行业务逻辑 - c.Next() + c.Next() // 执行后续 Handler - // 统一处理错误 - if errs := c.Errors(); len(errs) > 0 { + errs := c.Errors() + if len(errs) > 0 { lastErr := errs[len(errs)-1] - log.Printf("[ERROR] %v", lastErr) - response.Error(c).Send() + // 打印错误信息和堆栈 + fmt.Printf("[ERROR] %v\nStack trace:\n%s\n", lastErr.Error(), lastErr.StackTrace()) + + // 返回前端安全信息 + c.JSON(http.StatusInternalServerError, map[string]interface{}{ + "code": "FAIL", + "message": lastErr.Error(), + }) c.Abort() } } diff --git a/code/go-project/base-farmework/pkg/middleware/recovery.go b/code/go-project/base-farmework/pkg/middleware/recovery.go new file mode 100644 index 00000000..42155d74 --- /dev/null +++ b/code/go-project/base-farmework/pkg/middleware/recovery.go @@ -0,0 +1,24 @@ +package middleware + +import ( + "base-framework/pkg/router" + "base-framework/pkg/utils/response" + "log" + "runtime/debug" +) + +func Recovery() router.HandlerFunc { + return func(c *router.Context) { + defer func() { + if err := recover(); err != nil { + // 打印 panic 信息和堆栈 + log.Printf("[Recovery] panic recovered: %v\n%s", err, debug.Stack()) + + response.Error(c).Send() + } + }() + + // 调用后续 handler + c.Next() + } +} diff --git a/code/go-project/base-farmework/pkg/router/context.go b/code/go-project/base-farmework/pkg/router/context.go index ff316696..82073b39 100644 --- a/code/go-project/base-farmework/pkg/router/context.go +++ b/code/go-project/base-farmework/pkg/router/context.go @@ -1,6 +1,7 @@ package router import ( + "base-framework/pkg/utils" "bytes" "encoding/json" "io" @@ -125,7 +126,7 @@ func (c *Context) Get(key string) (interface{}, bool) { return val, ok } -// AddError 只记录错误对象 +// AddError 记录错误,自动包装 StackError func (c *Context) AddError(err error) { if err == nil { return @@ -134,19 +135,23 @@ func (c *Context) AddError(err error) { if c.keys == nil { c.keys = make(map[string]interface{}) } + if _, exists := c.keys["errors"]; !exists { - c.keys["errors"] = []error{} + c.keys["errors"] = []*utils.StackError{} } - c.keys["errors"] = append(c.keys["errors"].([]error), err) + + // 统一生成堆栈 + se := utils.WrapWithStack(err) + c.keys["errors"] = append(c.keys["errors"].([]*utils.StackError), se) } -// Errors 获取所有错误 -func (c *Context) Errors() []error { +// Errors 返回 []*utils.StackError +func (c *Context) Errors() []*utils.StackError { if c.keys == nil { return nil } if errs, exists := c.keys["errors"]; exists { - return errs.([]error) + return errs.([]*utils.StackError) } return nil } diff --git a/code/go-project/base-farmework/pkg/utils/db/select.go b/code/go-project/base-farmework/pkg/utils/db/select.go index 75f3396c..1c05e5bf 100644 --- a/code/go-project/base-farmework/pkg/utils/db/select.go +++ b/code/go-project/base-farmework/pkg/utils/db/select.go @@ -1,7 +1,6 @@ package db import ( - "database/sql" "fmt" ) @@ -12,13 +11,10 @@ func (c *Client) QueryRows(query string, args ...any) ([]map[string]any, error) rows, err := c.Conn.Query(query, args...) if err != nil { - return nil, err + return nil, err // 不加 debug.Stack() } - defer func(rows *sql.Rows) { - _ = rows.Close() - }(rows) + defer rows.Close() - // 获取列名 columns, err := rows.Columns() if err != nil { return nil, err @@ -26,7 +22,6 @@ func (c *Client) QueryRows(query string, args ...any) ([]map[string]any, error) results := make([]map[string]any, 0) for rows.Next() { - // 为每列创建一个接口值的 slice values := make([]any, len(columns)) valuePtrs := make([]any, len(columns)) for i := range columns { diff --git a/code/go-project/base-farmework/pkg/utils/error.go b/code/go-project/base-farmework/pkg/utils/error.go new file mode 100644 index 00000000..5829b4d3 --- /dev/null +++ b/code/go-project/base-farmework/pkg/utils/error.go @@ -0,0 +1,38 @@ +package utils + +import "runtime/debug" + +// StackError 保存原始错误和堆栈 +type StackError struct { + err error + stack string +} + +// 实现 error 接口 +func (s *StackError) Error() string { + if s.err == nil { + return "" + } + return s.err.Error() +} + +// StackTrace 返回堆栈信息 +func (s *StackError) StackTrace() string { + return s.stack +} + +// WrapWithStack 给错误附加堆栈,如果已经是 StackError 则直接返回 +func WrapWithStack(err error) *StackError { + if err == nil { + return nil + } + + if se, ok := err.(*StackError); ok { + return se + } + + return &StackError{ + err: err, + stack: string(debug.Stack()), + } +} diff --git a/code/go-project/base-farmework/pkg/utils/response/response.go b/code/go-project/base-farmework/pkg/utils/response/response.go index fb9ad999..011ce746 100644 --- a/code/go-project/base-farmework/pkg/utils/response/response.go +++ b/code/go-project/base-farmework/pkg/utils/response/response.go @@ -17,7 +17,7 @@ type Result struct { Code string `json:"code"` Message string `json:"message"` Data interface{} `json:"data,omitempty"` - Error *ErrorInfo `json:"error,omitempty"` + Error ErrorInfo `json:"error,omitempty"` } const ( @@ -92,7 +92,7 @@ func (b *Builder) Data(data interface{}) *Builder { } // ErrorInfo 设置错误信息 -func (b *Builder) ErrorInfo(err *ErrorInfo) *Builder { +func (b *Builder) ErrorInfo(err ErrorInfo) *Builder { b.result.Error = err return b } diff --git a/code/iibta/iibta-vue/.editorconfig b/code/iibta/iibta-vue/.editorconfig new file mode 100644 index 00000000..0552777e --- /dev/null +++ b/code/iibta/iibta-vue/.editorconfig @@ -0,0 +1,11 @@ +# Editor configuration, see http://editorconfig.org + +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/code/iibta/iibta-vue/.env b/code/iibta/iibta-vue/.env new file mode 100644 index 00000000..42a4a30e --- /dev/null +++ b/code/iibta/iibta-vue/.env @@ -0,0 +1,16 @@ +VITE_BASE_URL=/ + +VITE_APP_TITLE=IIBTA-VUE + +# icon图标前缀:iconify库相关 +VITE_ICON_PREFIX = i +# icon本地图标前缀:本地相关 +VITE_ICON_LOCAL_PREFIX = i-local + +# 上传地址 +VITE_UPLOAD_BASEURL = '' + +# 是否开启代理 Y 开启 N 不开启 +VITE_APP_PROXY= 'Y' +# 代理地址 +VITE_APP_PROXY_PREFIX = '/api' diff --git a/code/iibta/iibta-vue/.env.prod b/code/iibta/iibta-vue/.env.prod new file mode 100644 index 00000000..ddb43a55 --- /dev/null +++ b/code/iibta/iibta-vue/.env.prod @@ -0,0 +1,4 @@ +ENV = 'prod' + +VITE_SERVER_BASEURL = '' + diff --git a/code/iibta/iibta-vue/.env.test b/code/iibta/iibta-vue/.env.test new file mode 100644 index 00000000..f9563cd7 --- /dev/null +++ b/code/iibta/iibta-vue/.env.test @@ -0,0 +1,3 @@ +ENV = 'test' + +VITE_SERVER_BASEURL = '' \ No newline at end of file diff --git a/code/iibta/iibta-vue/.gitignore b/code/iibta/iibta-vue/.gitignore new file mode 100644 index 00000000..7c04f0e6 --- /dev/null +++ b/code/iibta/iibta-vue/.gitignore @@ -0,0 +1,28 @@ +# 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 +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/code/iibta/iibta-vue/.vscode/extensions.json b/code/iibta/iibta-vue/.vscode/extensions.json new file mode 100644 index 00000000..0ff6f8e2 --- /dev/null +++ b/code/iibta/iibta-vue/.vscode/extensions.json @@ -0,0 +1,14 @@ +{ + "recommendations": [ + "afzalsayed96.icones", + "antfu.iconify", + "antfu.unocss", + "dbaeumer.vscode-eslint", + "editorconfig.editorconfig", + "esbenp.prettier-vscode", + "mhutchie.git-graph", + "mikestead.dotenv", + "sdras.vue-vscode-snippets", + "vue.volar", + ] +} \ No newline at end of file diff --git a/code/iibta/iibta-vue/.vscode/settings.json b/code/iibta/iibta-vue/.vscode/settings.json new file mode 100644 index 00000000..837d8615 --- /dev/null +++ b/code/iibta/iibta-vue/.vscode/settings.json @@ -0,0 +1,22 @@ +{ + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.organizeImports": "never" + }, + "editor.formatOnSave": false, + "eslint.validate": [ + "html", + "css", + "scss", + "json", + "jsonc", + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "vue" + ], + "prettier.enable": false, + "typescript.tsdk": "node_modules/typescript/lib", + "unocss.root": ["./"] +} diff --git a/code/iibta/iibta-vue/index.html b/code/iibta/iibta-vue/index.html new file mode 100644 index 00000000..04afd19b --- /dev/null +++ b/code/iibta/iibta-vue/index.html @@ -0,0 +1,15 @@ + + + + + + + + + %VITE_APP_TITLE% + + +
+ + + diff --git a/code/iibta/iibta-vue/package.json b/code/iibta/iibta-vue/package.json new file mode 100644 index 00000000..a19a2177 --- /dev/null +++ b/code/iibta/iibta-vue/package.json @@ -0,0 +1,63 @@ +{ + "name": "iibta-vue", + "type": "module", + "version": "1.0.0", + "description": "", + "author": { + "name": "ONEAO", + "email": "hi_itao@163.com" + }, + "engines": { + "node": ">=18.12.0", + "pnpm": ">=8.7.0" + }, + "scripts": { + "build": "vite build --mode prod", + "build:test": "vite build --mode test", + "dev": "vite --mode test", + "dev:prod": "vite --mode prod", + "preview": "vite preview" + }, + "dependencies": { + "@better-scroll/core": "2.5.1", + "@iconify/vue": "4.3.0", + "@vueuse/core": "12.4.0", + "axios": "^1.7.9", + "clipboard": "2.0.11", + "dayjs": "1.11.13", + "json5": "2.2.3", + "nprogress": "0.2.0", + "pinia": "2.3.0", + "pinia-plugin-persistedstate": "^4.2.0", + "qs": "^6.14.0", + "tailwind-merge": "2.6.0", + "vue": "3.5.13", + "vue-router": "4.5.0" + }, + "devDependencies": { + "@iconify-json/material-symbols": "^1.2.15", + "@iconify/json": "2.2.297", + "@iconify/utils": "^2.2.1", + "@types/node": "22.10.7", + "@types/nprogress": "0.2.3", + "@unocss/preset-icons": "65.4.2", + "@unocss/preset-uno": "65.4.2", + "@unocss/transformer-directives": "65.4.2", + "@unocss/transformer-variant-group": "65.4.2", + "@unocss/vite": "65.4.2", + "@vitejs/plugin-vue": "5.2.1", + "@vitejs/plugin-vue-jsx": "4.1.1", + "globals": "^15.14.0", + "sass": "1.83.4", + "tsx": "4.19.2", + "typescript": "5.7.3", + "unplugin-icons": "22.0.0", + "unplugin-vue-components": "28.0.0", + "vite": "6.0.7", + "vite-plugin-progress": "0.0.7", + "vite-plugin-svg-icons": "2.0.1", + "vite-plugin-vue-devtools": "7.7.0", + "vue-tsc": "2.2.0" + }, + "website": "https://user-template.cn" +} diff --git a/code/iibta/iibta-vue/pnpm-lock.yaml b/code/iibta/iibta-vue/pnpm-lock.yaml new file mode 100644 index 00000000..212a635b --- /dev/null +++ b/code/iibta/iibta-vue/pnpm-lock.yaml @@ -0,0 +1,6055 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@better-scroll/core': + specifier: 2.5.1 + version: 2.5.1 + '@iconify/vue': + specifier: 4.3.0 + version: 4.3.0(vue@3.5.13(typescript@5.7.3)) + '@vueuse/core': + specifier: 12.4.0 + version: 12.4.0(typescript@5.7.3) + axios: + specifier: ^1.7.9 + version: 1.8.2 + clipboard: + specifier: 2.0.11 + version: 2.0.11 + dayjs: + specifier: 1.11.13 + version: 1.11.13 + json5: + specifier: 2.2.3 + version: 2.2.3 + nprogress: + specifier: 0.2.0 + version: 0.2.0 + pinia: + specifier: 2.3.0 + version: 2.3.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) + pinia-plugin-persistedstate: + specifier: ^4.2.0 + version: 4.2.0(pinia@2.3.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))) + qs: + specifier: ^6.14.0 + version: 6.14.0 + tailwind-merge: + specifier: 2.6.0 + version: 2.6.0 + vue: + specifier: 3.5.13 + version: 3.5.13(typescript@5.7.3) + vue-router: + specifier: 4.5.0 + version: 4.5.0(vue@3.5.13(typescript@5.7.3)) + devDependencies: + '@iconify-json/material-symbols': + specifier: ^1.2.15 + version: 1.2.15 + '@iconify/json': + specifier: 2.2.297 + version: 2.2.297 + '@iconify/utils': + specifier: ^2.2.1 + version: 2.3.0 + '@types/node': + specifier: 22.10.7 + version: 22.10.7 + '@types/nprogress': + specifier: 0.2.3 + version: 0.2.3 + '@unocss/preset-icons': + specifier: 65.4.2 + version: 65.4.2 + '@unocss/preset-uno': + specifier: 65.4.2 + version: 65.4.2 + '@unocss/transformer-directives': + specifier: 65.4.2 + version: 65.4.2 + '@unocss/transformer-variant-group': + specifier: 65.4.2 + version: 65.4.2 + '@unocss/vite': + specifier: 65.4.2 + version: 65.4.2(rollup@4.35.0)(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3)) + '@vitejs/plugin-vue': + specifier: 5.2.1 + version: 5.2.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3)) + '@vitejs/plugin-vue-jsx': + specifier: 4.1.1 + version: 4.1.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3)) + globals: + specifier: ^15.14.0 + version: 15.15.0 + sass: + specifier: 1.83.4 + version: 1.83.4 + tsx: + specifier: 4.19.2 + version: 4.19.2 + typescript: + specifier: 5.7.3 + version: 5.7.3 + unplugin-icons: + specifier: 22.0.0 + version: 22.0.0(@vue/compiler-sfc@3.5.13) + unplugin-vue-components: + specifier: 28.0.0 + version: 28.0.0(@babel/parser@7.26.9)(@nuxt/kit@3.16.0)(rollup@4.35.0)(vue@3.5.13(typescript@5.7.3)) + vite: + specifier: 6.0.7 + version: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + vite-plugin-progress: + specifier: 0.0.7 + version: 0.0.7(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)) + vite-plugin-svg-icons: + specifier: 2.0.1 + version: 2.0.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)) + vite-plugin-vue-devtools: + specifier: 7.7.0 + version: 7.7.0(@nuxt/kit@3.16.0)(rollup@4.35.0)(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3)) + vue-tsc: + specifier: 2.2.0 + version: 2.2.0(typescript@5.7.3) + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@antfu/install-pkg@0.5.0': + resolution: {integrity: sha512-dKnk2xlAyC7rvTkpkHmu+Qy/2Zc3Vm/l8PtNyIOGDBtXPY3kThfU4ORNEp3V7SXw5XSOb+tOJaUYpfquPzL/Tg==} + + '@antfu/install-pkg@1.0.0': + resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.8': + resolution: {integrity: sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.9': + resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.9': + resolution: {integrity: sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.25.9': + resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.26.5': + resolution: {integrity: sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.26.9': + resolution: {integrity: sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-member-expression-to-functions@7.25.9': + resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.25.9': + resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.26.5': + resolution: {integrity: sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.26.5': + resolution: {integrity: sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.9': + resolution: {integrity: sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.9': + resolution: {integrity: sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-proposal-decorators@7.25.9': + resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-decorators@7.25.9': + resolution: {integrity: sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.26.8': + resolution: {integrity: sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/template@7.26.9': + resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.26.9': + resolution: {integrity: sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.9': + resolution: {integrity: sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==} + engines: {node: '>=6.9.0'} + + '@better-scroll/core@2.5.1': + resolution: {integrity: sha512-koKOuYA55dQ04FJRIVUpMGDr1hbCfWmfX0MGp1hKagkQSWSRpwblqACiwtggVauoj9aaJRJZ9hDsTM4weaavlg==} + + '@better-scroll/shared-utils@2.5.1': + resolution: {integrity: sha512-AplkfSjXVYP9LZiD6JsKgmgQJ/mG4uuLmBuwLz8W5OsYc7AYTfN8kw6GqZ5OwCGoXkVhBGyd8NeC4xwYItp0aw==} + + '@esbuild/aix-ppc64@0.23.1': + resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.25.1': + resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.23.1': + resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.25.1': + resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.23.1': + resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.25.1': + resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.23.1': + resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.25.1': + resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.23.1': + resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.25.1': + resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.23.1': + resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.25.1': + resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.23.1': + resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.25.1': + resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.23.1': + resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.25.1': + resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.23.1': + resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.25.1': + resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.23.1': + resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.25.1': + resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.23.1': + resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.25.1': + resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.23.1': + resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.25.1': + resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.23.1': + resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.25.1': + resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.23.1': + resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.25.1': + resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.23.1': + resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.25.1': + resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.23.1': + resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.25.1': + resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.23.1': + resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.25.1': + resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.25.1': + resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.23.1': + resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.25.1': + resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.23.1': + resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.25.1': + resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.23.1': + resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.25.1': + resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.23.1': + resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.25.1': + resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.23.1': + resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.25.1': + resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.23.1': + resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.25.1': + resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.23.1': + resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.25.1': + resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@iconify-json/material-symbols@1.2.15': + resolution: {integrity: sha512-KkHRnMh1s08N1Olf3xk+z3ZIrke/7Ys3uUIMfKuSkZPbNssG4IApKkJOV5po6mg6oxMooXdNpab4PS0S5LMSOA==} + + '@iconify/json@2.2.297': + resolution: {integrity: sha512-Mu7m+R8xH0EQxkZ9Zq9ZqT7twennzG2E9BojDiWEwoKialJpHB99Aj+jKdRvlEkwDE7RuHxvf0fHdamhPXZ8uw==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + + '@iconify/vue@4.3.0': + resolution: {integrity: sha512-Xq0h6zMrHBbrW8jXJ9fISi+x8oDQllg5hTDkDuxnWiskJ63rpJu9CvJshj8VniHVTbsxCg9fVoPAaNp3RQI5OQ==} + peerDependencies: + vue: '>=3' + + '@jridgewell/gen-mapping@0.3.8': + resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nuxt/kit@3.16.0': + resolution: {integrity: sha512-yPfhk58BG6wJhELkGOTCOlkMDbZkizk3IaINcyTKm+hBKiK3SheLt7S9HStNL+qZSfH2Cf7A8sYp6M72lOIEtA==} + engines: {node: '>=18.12.0'} + + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} + engines: {node: '>= 10.0.0'} + + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} + + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.35.0': + resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.35.0': + resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.35.0': + resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.35.0': + resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.35.0': + resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.35.0': + resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.35.0': + resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.35.0': + resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==} + cpu: [loong64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-s390x-gnu@4.35.0': + resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.35.0': + resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.35.0': + resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-win32-arm64-msvc@4.35.0': + resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.35.0': + resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.35.0': + resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==} + cpu: [x64] + os: [win32] + + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + + '@types/node@10.17.60': + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + + '@types/node@22.10.7': + resolution: {integrity: sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==} + + '@types/nprogress@0.2.3': + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} + + '@types/svgo@2.6.4': + resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@unocss/config@65.4.2': + resolution: {integrity: sha512-2xyWDt6t879rsdxJ0TiRbk9ENkGuLjAWjl3aAph5HHxwgGaBN1c9S5G9607j/WXP+tO6c37B4Q1iG/XYx35HBA==} + engines: {node: '>=14'} + + '@unocss/core@65.4.2': + resolution: {integrity: sha512-VmXy5D25por+pt9LBlKZ3gk4rOE5ldm80MyVOEnLcpaFb9LqB0g/8qUU9/Dk3TSA+ZPeoGm53Juo0p8LMFIigA==} + + '@unocss/extractor-arbitrary-variants@65.4.2': + resolution: {integrity: sha512-qm5JXfjbxgXqhQAeOfV1jFT1ThBTi1bP1m+Nu2p6tB9EUbAUp+AKY4sODueqDXoriUtOc7h0QzyW3Lm+s3fTGw==} + + '@unocss/inspector@65.4.2': + resolution: {integrity: sha512-64m6SpjbeTQNqgWLUQpVwu1WQpuv4RshA1KIs4cc6WdDivckWb4woA+4Zdm+DjYjm0aLqX7oUE0kWwjK+pIZdA==} + + '@unocss/preset-icons@65.4.2': + resolution: {integrity: sha512-XytFiMSbIqPshiVtsiFoq1nqyFYNTGnxMe6g3w+Zj5B+vNwfwHPR6CD8pTSkXpbW6zo+Ed/CBYe0pRwCrYjcgw==} + + '@unocss/preset-mini@65.4.2': + resolution: {integrity: sha512-4ZZK9KwDHjI8wFUKeB+30GHekPmy1OzXncjlXhqm+vNQ7FO3xCee7VY00E5bgz5Tt0pXALcKFlrEspjpSaeCoQ==} + + '@unocss/preset-uno@65.4.2': + resolution: {integrity: sha512-rJcGx/+EWA3wXGOAZdYQFSEn8knsiqiST/Ji1adN+9dTq4BVYMZ9n3zYRF6GZ8p61aZomhU4jmzpLk12RMdxpg==} + + '@unocss/preset-wind@65.4.2': + resolution: {integrity: sha512-TQm9P2UHpqfn92APfZJtbK2brkXQ+GInFL2evup/ZChU1fqdbH9mL0ef6ZNQbCH4gjY6mEzwPXt4lhGod6CajA==} + + '@unocss/rule-utils@65.4.2': + resolution: {integrity: sha512-OdMSJZiZUr8XmLo3Bz3Wrw1nZLT1nTPnPOV8gdi4vZ+2RgCChua9o8Dz4IyeQ7mMhLXoqHIUpJ7jE5Nv+Uz1Fw==} + engines: {node: '>=14'} + + '@unocss/transformer-directives@65.4.2': + resolution: {integrity: sha512-u/hbpRe/mEasRdzznGQnKmJqDHcoJ2MJJBLpDc2RisiAEokz73dno3JtT70HZVA+DN7Y9ddAKioxlvSU+iJxFA==} + + '@unocss/transformer-variant-group@65.4.2': + resolution: {integrity: sha512-a5xjR9mPUo7n6wD3nO5tcEcH7j0ks25E3d100XdNUeVUJeszzMAeLZ/uYrkd6Z3amyLLxwVOkAdYcczGhKdsbA==} + + '@unocss/vite@65.4.2': + resolution: {integrity: sha512-pEIU/egxec0CErgUwo/Nuyfi+ZZPIBD+XQBi2Pa51VKeuD91BBnXc1JGu9yzRT2WbrGP3hwsDgYqhj2G6wGXyA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + + '@vitejs/plugin-vue-jsx@4.1.1': + resolution: {integrity: sha512-uMJqv/7u1zz/9NbWAD3XdjaY20tKTf17XVfQ9zq4wY1BjsB/PjpJPMe2xiG39QpP4ZdhYNhm4Hvo66uJrykNLA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@5.2.1': + resolution: {integrity: sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 + vue: ^3.2.25 + + '@volar/language-core@2.4.12': + resolution: {integrity: sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==} + + '@volar/source-map@2.4.12': + resolution: {integrity: sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==} + + '@volar/typescript@2.4.12': + resolution: {integrity: sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==} + + '@vue/babel-helper-vue-transform-on@1.4.0': + resolution: {integrity: sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==} + + '@vue/babel-plugin-jsx@1.4.0': + resolution: {integrity: sha512-9zAHmwgMWlaN6qRKdrg1uKsBKHvnUU+Py+MOCTuYZBoZsopa90Di10QRjB+YPnVss0BZbG/H5XFwJY1fTxJWhA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.4.0': + resolution: {integrity: sha512-4xqDRRbQQEWHQyjlYSgZsWj44KfiF6D+ktCuXyZ8EnVDYV3pztmXJDf1HveAjUAXxAnR8daCQT51RneWWxtTyQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.5.13': + resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + + '@vue/compiler-dom@3.5.13': + resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + + '@vue/compiler-sfc@3.5.13': + resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + + '@vue/compiler-ssr@3.5.13': + resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/devtools-core@7.7.2': + resolution: {integrity: sha512-lexREWj1lKi91Tblr38ntSsy6CvI8ba7u+jmwh2yruib/ltLUcsIzEjCnrkh1yYGGIKXbAuYV2tOG10fGDB9OQ==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-kit@7.7.2': + resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==} + + '@vue/devtools-shared@7.7.2': + resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==} + + '@vue/language-core@2.2.0': + resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/reactivity@3.5.13': + resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} + + '@vue/runtime-core@3.5.13': + resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} + + '@vue/runtime-dom@3.5.13': + resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} + + '@vue/server-renderer@3.5.13': + resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + peerDependencies: + vue: 3.5.13 + + '@vue/shared@3.5.13': + resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + + '@vueuse/core@12.4.0': + resolution: {integrity: sha512-XnjQYcJwCsyXyIafyA6SvyN/OBtfPnjvJmbxNxQjCcyWD198urwm5TYvIUUyAxEAN0K7HJggOgT15cOlWFyLeA==} + + '@vueuse/metadata@12.4.0': + resolution: {integrity: sha512-AhPuHs/qtYrKHUlEoNO6zCXufu8OgbR8S/n2oMw1OQuBQJ3+HOLQ+EpvXs+feOlZMa0p8QVvDWNlmcJJY8rW2g==} + + '@vueuse/shared@12.4.0': + resolution: {integrity: sha512-9yLgbHVIF12OSCojnjTIoZL1+UA10+O4E1aD6Hpfo/DKVm5o3SZIwz6CupqGy3+IcKI8d6Jnl26EQj/YucnW0Q==} + + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + + alien-signals@0.4.14: + resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios@1.8.2: + resolution: {integrity: sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + birpc@0.2.19: + resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.24.4: + resolution: {integrity: sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + bundle-require@5.1.0: + resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.18' + + c12@3.0.2: + resolution: {integrity: sha512-6Tzk1/TNeI3WBPpK0j/Ss4+gPj3PUJYbWl/MWDJBThFvwNGNkXtd7Cz8BJtD4aRwoGHtzQD0SnxamgUiBH0/Nw==} + peerDependencies: + magicast: ^0.3.5 + peerDependenciesMeta: + magicast: + optional: true + + cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + caniuse-lite@1.0.30001703: + resolution: {integrity: sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + + clipboard@2.0.11: + resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.1: + resolution: {integrity: sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==} + + consola@3.4.0: + resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} + engines: {node: ^14.18.0 || >=16.10.0} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + + copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-tree@3.1.0: + resolution: {integrity: sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + deep-pick-omit@1.2.1: + resolution: {integrity: sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==} + + default-browser-id@5.0.0: + resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + engines: {node: '>=18'} + + default-browser@5.2.1: + resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} + engines: {node: '>=18'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + + define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + + define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delegate@3.2.0: + resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + dotenv@16.4.7: + resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + electron-to-chromium@1.5.114: + resolution: {integrity: sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + error-stack-parser-es@0.1.5: + resolution: {integrity: sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==} + + errx@0.1.0: + resolution: {integrity: sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==} + + es-abstract@1.23.9: + resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esbuild@0.23.1: + resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.25.1: + resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + execa@9.5.2: + resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} + engines: {node: ^18.19.0 || >=20.5.0} + + expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + + exsolve@1.0.4: + resolution: {integrity: sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + + extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + + fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + follow-redirects@1.15.9: + resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + form-data@4.0.2: + resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} + engines: {node: '>= 6'} + + fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.3.0: + resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + engines: {node: '>=14.14'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.10.0: + resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + + get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + + giget@2.0.0: + resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} + hasBin: true + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@14.1.0: + resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} + engines: {node: '>=18'} + + good-listener@1.2.2: + resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + + has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + + has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + + has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + + human-signals@8.0.0: + resolution: {integrity: sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==} + engines: {node: '>=18.18.0'} + + ignore@7.0.3: + resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} + engines: {node: '>= 4'} + + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + immutable@5.0.3: + resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==} + + importx@0.5.2: + resolution: {integrity: sha512-YEwlK86Ml5WiTxN/ECUYC5U7jd1CisAVw7ya4i9ZppBoHfFkT2+hChhr3PE2fYxUKLkNyivxEQpa5Ruil1LJBQ==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} + engines: {node: '>= 0.4'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.2.2: + resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} + engines: {node: '>= 0.4'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + + is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-generator-function@1.1.0: + resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-unicode-supported@2.1.0: + resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} + engines: {node: '>=18'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + + js-base64@2.6.4: + resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + + kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + knitwork@1.2.0: + resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + + local-pkg@0.5.1: + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} + engines: {node: '>=14'} + + local-pkg@1.1.1: + resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + engines: {node: '>=14'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + mdn-data@2.12.2: + resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==} + + merge-options@1.0.1: + resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} + engines: {node: '>=4'} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@3.1.0: + resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} + engines: {node: '>=0.10.0'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + nanoid@3.3.9: + resolution: {integrity: sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@5.1.3: + resolution: {integrity: sha512-zAbEOEr7u2CbxwoMRlz/pNSpRP0FdAU4pRaYunCdEezWohXFs+a0Xw7RfkKaezMsmSM1vttcLthJtwRnVtOfHQ==} + engines: {node: ^18 || >=20} + hasBin: true + + nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} + + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + nypm@0.6.0: + resolution: {integrity: sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==} + engines: {node: ^14.16.0 || >=16.10.0} + hasBin: true + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} + + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + + open@10.1.0: + resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} + engines: {node: '>=18'} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + package-manager-detector@0.2.11: + resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + + pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-type@6.0.0: + resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} + engines: {node: '>=18'} + + pathe@0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + + pinia-plugin-persistedstate@4.2.0: + resolution: {integrity: sha512-3buhA7ac+ssbOIx3VRCC8oHkoFwhDM9oHRCjo7nj+O8WUqnW+jRqh7eYT5eS/DNa3H28zp3dYf/nd/Vc8zj8eQ==} + peerDependencies: + '@pinia/nuxt': '>=0.9.0' + pinia: '>=2.3.0' + peerDependenciesMeta: + '@pinia/nuxt': + optional: true + pinia: + optional: true + + pinia@2.3.0: + resolution: {integrity: sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==} + peerDependencies: + typescript: '>=4.4.4' + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.1.0: + resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + + posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-prefix-selector@1.16.1: + resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==} + peerDependencies: + postcss: '>4 <9' + + postcss@5.2.18: + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} + engines: {node: '>=0.12'} + + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + + posthtml-parser@0.2.1: + resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} + + posthtml-rename-id@1.0.12: + resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==} + + posthtml-render@1.4.0: + resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==} + engines: {node: '>=10'} + + posthtml-svg-mode@1.0.3: + resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==} + + posthtml@0.9.2: + resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==} + engines: {node: '>=0.10.0'} + + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} + engines: {node: '>=18'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + qs@6.14.0: + resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} + engines: {node: '>=0.6'} + + quansync@0.2.8: + resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==} + + query-string@4.3.4: + resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} + engines: {node: '>=0.10.0'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + rd@2.0.1: + resolution: {integrity: sha512-/XdKU4UazUZTXFmI0dpABt8jSXPWcEyaGdk340KdHnsEOdkTctlX23aAK7ChQDn39YGNlAJr1M5uvaKt4QnpNw==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + + ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rollup@4.35.0: + resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-applescript@7.0.0: + resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + + sass@1.83.4: + resolution: {integrity: sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==} + engines: {node: '>=14.0.0'} + hasBin: true + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + select@1.1.2: + resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + engines: {node: '>=10'} + hasBin: true + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@3.0.1: + resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} + engines: {node: '>=18'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + + snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + + snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + + source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + + split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + + stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + + static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + + std-env@3.8.1: + resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} + + strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + + strip-literal@3.0.0: + resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} + + superjson@2.2.2: + resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} + engines: {node: '>=16'} + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + + svg-baker@1.7.0: + resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==} + + svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + + tailwind-merge@2.6.0: + resolution: {integrity: sha512-P+Vu1qXfzediirmHOC3xKGAYeZtPcV9g76X+xg2FD4tYgR71ewMA35Y3sCz3zhiN/dwefRpJX0yBcgwi1fXNQA==} + + tiny-emitter@2.1.0: + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} + + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + + to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + traverse@0.6.11: + resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==} + engines: {node: '>= 0.4'} + + tsx@4.19.2: + resolution: {integrity: sha512-pOUl6Vo2LUq/bSa8S5q7b91cgNSjctn9ugq/+Mvow99qW6x/UZYwzxy/3NmqoT66eHYfCVvFvACC58UBPFf28g==} + engines: {node: '>=18.0.0'} + hasBin: true + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typedarray.prototype.slice@1.0.5: + resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==} + engines: {node: '>= 0.4'} + + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + unconfig@0.6.1: + resolution: {integrity: sha512-cVU+/sPloZqOyJEAfNwnQSFCzFrZm85vcVkryH7lnlB/PiTycUkAjt5Ds79cfIshGOZ+M5v3PBDnKgpmlE5DtA==} + + unctx@2.4.1: + resolution: {integrity: sha512-AbaYw0Nm4mK4qjhns67C+kgxR2YWiwlDBPzxrN8h8C6VtAdCgditAY5Dezu3IJy4XVqAnbrXt9oQJvsn3fyozg==} + + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + unimport@4.1.2: + resolution: {integrity: sha512-oVUL7PSlyVV3QRhsdcyYEMaDX8HJyS/CnUonEJTYA3//bWO+o/4gG8F7auGWWWkrrxBQBYOO8DKe+C53ktpRXw==} + engines: {node: '>=18.12.0'} + + union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unplugin-icons@22.0.0: + resolution: {integrity: sha512-+1jIt2wynxL+GISehNok8MIb9RaCufIZCHJs0HKbxOljJL9m4NtOhva+dZhNtSKtfQ62Hwd/RRbniSVuuD4Xow==} + peerDependencies: + '@svgr/core': '>=7.0.0' + '@svgx/core': ^1.0.1 + '@vue/compiler-sfc': ^3.0.2 || ^2.7.0 + svelte: ^3.0.0 || ^4.0.0 || ^5.0.0 + vue-template-compiler: ^2.6.12 + vue-template-es2015-compiler: ^1.9.0 + peerDependenciesMeta: + '@svgr/core': + optional: true + '@svgx/core': + optional: true + '@vue/compiler-sfc': + optional: true + svelte: + optional: true + vue-template-compiler: + optional: true + vue-template-es2015-compiler: + optional: true + + unplugin-utils@0.2.4: + resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} + engines: {node: '>=18.12.0'} + + unplugin-vue-components@28.0.0: + resolution: {integrity: sha512-vYe0wSyqTVhyNFIad1iiGyQGhG++tDOMgohqenMDOAooMJP9vvzCdXTqCVx20A0rCQXFNjgoRbSeDAioLPH36Q==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + + unplugin@2.2.0: + resolution: {integrity: sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw==} + engines: {node: '>=18.12.0'} + + unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + + untyped@2.0.0: + resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} + hasBin: true + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + + use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite-hot-client@0.2.4: + resolution: {integrity: sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 + + vite-plugin-inspect@0.8.9: + resolution: {integrity: sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite-plugin-progress@0.0.7: + resolution: {integrity: sha512-zyvKdcc/X+6hnw3J1HVV1TKrlFKC4Rh8GnDnWG/2qhRXjqytTcM++xZ+SAPnoDsSyWl8O93ymK0wZRgHAoglEQ==} + engines: {node: '>=14', pnpm: '>=7.0.0'} + peerDependencies: + vite: '>2.0.0-0' + + vite-plugin-svg-icons@2.0.1: + resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} + peerDependencies: + vite: '>=2.0.0' + + vite-plugin-vue-devtools@7.7.0: + resolution: {integrity: sha512-1dWiREwIl4JELwXGHXih80hIgjcViMcZGr3j0edo6NQ9kNzAOxMIUgFqc/TO1ary4ZroJUxoB0YDI6jnDf13iQ==} + engines: {node: '>=v14.21.3'} + peerDependencies: + vite: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 + + vite-plugin-vue-inspector@5.3.1: + resolution: {integrity: sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==} + peerDependencies: + vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 + + vite@6.0.7: + resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + 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 + + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-flow-layout@0.1.1: + resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==} + peerDependencies: + vue: ^3.4.37 + + vue-router@4.5.0: + resolution: {integrity: sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==} + peerDependencies: + vue: ^3.2.0 + + vue-tsc@2.2.0: + resolution: {integrity: sha512-gtmM1sUuJ8aSb0KoAFmK9yMxb8TxjewmxqTJ1aKphD5Cbu0rULFY6+UQT51zW7SpUcenfPUuflKyVwyx9Qdnxg==} + hasBin: true + peerDependencies: + typescript: '>=5.0.0' + + vue@3.5.13: + resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.19: + resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} + engines: {node: '>= 0.4'} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yoctocolors@2.1.1: + resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} + engines: {node: '>=18'} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/install-pkg@0.5.0': + dependencies: + package-manager-detector: 0.2.11 + tinyexec: 0.3.2 + + '@antfu/install-pkg@1.0.0': + dependencies: + package-manager-detector: 0.2.11 + tinyexec: 0.3.2 + + '@antfu/utils@0.7.10': {} + + '@antfu/utils@8.1.1': {} + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.8': {} + + '@babel/core@7.26.9': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.9 + '@babel/helper-compilation-targets': 7.26.5 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.9) + '@babel/helpers': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 + convert-source-map: 2.0.0 + debug: 4.4.0 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.9': + dependencies: + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 + '@jridgewell/gen-mapping': 0.3.8 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.25.9': + dependencies: + '@babel/types': 7.26.9 + + '@babel/helper-compilation-targets@7.26.5': + dependencies: + '@babel/compat-data': 7.26.8 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.4 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.26.9(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/helper-replace-supers': 7.26.5(@babel/core@7.26.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/traverse': 7.26.9 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.25.9': + dependencies: + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.25.9': + dependencies: + '@babel/types': 7.26.9 + + '@babel/helper-plugin-utils@7.26.5': {} + + '@babel/helper-replace-supers@7.26.5(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-member-expression-to-functions': 7.25.9 + '@babel/helper-optimise-call-expression': 7.25.9 + '@babel/traverse': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.25.9': + dependencies: + '@babel/traverse': 7.26.9 + '@babel/types': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helpers@7.26.9': + dependencies: + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 + + '@babel/parser@7.26.9': + dependencies: + '@babel/types': 7.26.9 + + '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.9) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-plugin-utils': 7.26.5 + + '@babel/plugin-transform-typescript@7.26.8(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-annotate-as-pure': 7.25.9 + '@babel/helper-create-class-features-plugin': 7.26.9(@babel/core@7.26.9) + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.25.9 + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.9) + transitivePeerDependencies: + - supports-color + + '@babel/template@7.26.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.9 + '@babel/types': 7.26.9 + + '@babel/traverse@7.26.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.9 + '@babel/parser': 7.26.9 + '@babel/template': 7.26.9 + '@babel/types': 7.26.9 + debug: 4.4.0 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.9': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@better-scroll/core@2.5.1': + dependencies: + '@better-scroll/shared-utils': 2.5.1 + + '@better-scroll/shared-utils@2.5.1': {} + + '@esbuild/aix-ppc64@0.23.1': + optional: true + + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/aix-ppc64@0.25.1': + optional: true + + '@esbuild/android-arm64@0.23.1': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.25.1': + optional: true + + '@esbuild/android-arm@0.23.1': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-arm@0.25.1': + optional: true + + '@esbuild/android-x64@0.23.1': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/android-x64@0.25.1': + optional: true + + '@esbuild/darwin-arm64@0.23.1': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.25.1': + optional: true + + '@esbuild/darwin-x64@0.23.1': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.25.1': + optional: true + + '@esbuild/freebsd-arm64@0.23.1': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.25.1': + optional: true + + '@esbuild/freebsd-x64@0.23.1': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.25.1': + optional: true + + '@esbuild/linux-arm64@0.23.1': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.25.1': + optional: true + + '@esbuild/linux-arm@0.23.1': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-arm@0.25.1': + optional: true + + '@esbuild/linux-ia32@0.23.1': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.25.1': + optional: true + + '@esbuild/linux-loong64@0.23.1': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.25.1': + optional: true + + '@esbuild/linux-mips64el@0.23.1': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.25.1': + optional: true + + '@esbuild/linux-ppc64@0.23.1': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.25.1': + optional: true + + '@esbuild/linux-riscv64@0.23.1': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.25.1': + optional: true + + '@esbuild/linux-s390x@0.23.1': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.25.1': + optional: true + + '@esbuild/linux-x64@0.23.1': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/linux-x64@0.25.1': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.25.1': + optional: true + + '@esbuild/netbsd-x64@0.23.1': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/netbsd-x64@0.25.1': + optional: true + + '@esbuild/openbsd-arm64@0.23.1': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.25.1': + optional: true + + '@esbuild/openbsd-x64@0.23.1': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.25.1': + optional: true + + '@esbuild/sunos-x64@0.23.1': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.25.1': + optional: true + + '@esbuild/win32-arm64@0.23.1': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.25.1': + optional: true + + '@esbuild/win32-ia32@0.23.1': + optional: true + + '@esbuild/win32-ia32@0.24.2': + optional: true + + '@esbuild/win32-ia32@0.25.1': + optional: true + + '@esbuild/win32-x64@0.23.1': + optional: true + + '@esbuild/win32-x64@0.24.2': + optional: true + + '@esbuild/win32-x64@0.25.1': + optional: true + + '@iconify-json/material-symbols@1.2.15': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/json@2.2.297': + dependencies: + '@iconify/types': 2.0.0 + pathe: 1.1.2 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.3.0': + dependencies: + '@antfu/install-pkg': 1.0.0 + '@antfu/utils': 8.1.1 + '@iconify/types': 2.0.0 + debug: 4.4.0 + globals: 15.15.0 + kolorist: 1.8.0 + local-pkg: 1.1.1 + mlly: 1.7.4 + transitivePeerDependencies: + - supports-color + + '@iconify/vue@4.3.0(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@iconify/types': 2.0.0 + vue: 3.5.13(typescript@5.7.3) + + '@jridgewell/gen-mapping@0.3.8': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@nuxt/kit@3.16.0': + dependencies: + c12: 3.0.2 + consola: 3.4.0 + defu: 6.1.4 + destr: 2.0.3 + errx: 0.1.0 + exsolve: 1.0.4 + globby: 14.1.0 + ignore: 7.0.3 + jiti: 2.4.2 + klona: 2.0.6 + knitwork: 1.2.0 + mlly: 1.7.4 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.1.0 + scule: 1.3.0 + semver: 7.7.1 + std-env: 3.8.1 + ufo: 1.5.4 + unctx: 2.4.1 + unimport: 4.1.2 + untyped: 2.0.0 + transitivePeerDependencies: + - magicast + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@polka/url@1.0.0-next.28': {} + + '@rollup/pluginutils@5.1.4(rollup@4.35.0)': + dependencies: + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 4.0.2 + optionalDependencies: + rollup: 4.35.0 + + '@rollup/rollup-android-arm-eabi@4.35.0': + optional: true + + '@rollup/rollup-android-arm64@4.35.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.35.0': + optional: true + + '@rollup/rollup-darwin-x64@4.35.0': + optional: true + + '@rollup/rollup-freebsd-arm64@4.35.0': + optional: true + + '@rollup/rollup-freebsd-x64@4.35.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.35.0': + optional: true + + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.35.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.35.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.35.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.35.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.35.0': + optional: true + + '@sec-ant/readable-stream@0.4.1': {} + + '@sindresorhus/merge-streams@2.3.0': {} + + '@sindresorhus/merge-streams@4.0.0': {} + + '@trysound/sax@0.2.0': {} + + '@types/estree@1.0.6': {} + + '@types/node@10.17.60': {} + + '@types/node@22.10.7': + dependencies: + undici-types: 6.20.0 + + '@types/nprogress@0.2.3': {} + + '@types/svgo@2.6.4': + dependencies: + '@types/node': 22.10.7 + + '@types/web-bluetooth@0.0.20': {} + + '@unocss/config@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + unconfig: 0.6.1 + transitivePeerDependencies: + - supports-color + + '@unocss/core@65.4.2': {} + + '@unocss/extractor-arbitrary-variants@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + + '@unocss/inspector@65.4.2(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@unocss/core': 65.4.2 + '@unocss/rule-utils': 65.4.2 + colorette: 2.0.20 + gzip-size: 6.0.0 + sirv: 3.0.1 + vue-flow-layout: 0.1.1(vue@3.5.13(typescript@5.7.3)) + transitivePeerDependencies: + - vue + + '@unocss/preset-icons@65.4.2': + dependencies: + '@iconify/utils': 2.3.0 + '@unocss/core': 65.4.2 + ofetch: 1.4.1 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + '@unocss/extractor-arbitrary-variants': 65.4.2 + '@unocss/rule-utils': 65.4.2 + + '@unocss/preset-uno@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + '@unocss/preset-mini': 65.4.2 + '@unocss/preset-wind': 65.4.2 + '@unocss/rule-utils': 65.4.2 + + '@unocss/preset-wind@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + '@unocss/preset-mini': 65.4.2 + '@unocss/rule-utils': 65.4.2 + + '@unocss/rule-utils@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + magic-string: 0.30.17 + + '@unocss/transformer-directives@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + '@unocss/rule-utils': 65.4.2 + css-tree: 3.1.0 + + '@unocss/transformer-variant-group@65.4.2': + dependencies: + '@unocss/core': 65.4.2 + + '@unocss/vite@65.4.2(rollup@4.35.0)(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.4(rollup@4.35.0) + '@unocss/config': 65.4.2 + '@unocss/core': 65.4.2 + '@unocss/inspector': 65.4.2(vue@3.5.13(typescript@5.7.3)) + chokidar: 3.6.0 + magic-string: 0.30.17 + tinyglobby: 0.2.12 + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + transitivePeerDependencies: + - rollup + - supports-color + - vue + + '@vitejs/plugin-vue-jsx@4.1.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@babel/core': 7.26.9 + '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.9) + '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.26.9) + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + vue: 3.5.13(typescript@5.7.3) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.2.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3))': + dependencies: + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + vue: 3.5.13(typescript@5.7.3) + + '@volar/language-core@2.4.12': + dependencies: + '@volar/source-map': 2.4.12 + + '@volar/source-map@2.4.12': {} + + '@volar/typescript@2.4.12': + dependencies: + '@volar/language-core': 2.4.12 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@vue/babel-helper-vue-transform-on@1.4.0': {} + + '@vue/babel-plugin-jsx@1.4.0(@babel/core@7.26.9)': + dependencies: + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.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(@babel/core@7.26.9) + '@vue/shared': 3.5.13 + optionalDependencies: + '@babel/core': 7.26.9 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@1.4.0(@babel/core@7.26.9)': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/core': 7.26.9 + '@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 + transitivePeerDependencies: + - supports-color + + '@vue/compiler-core@3.5.13': + dependencies: + '@babel/parser': 7.26.9 + '@vue/shared': 3.5.13 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.13': + dependencies: + '@vue/compiler-core': 3.5.13 + '@vue/shared': 3.5.13 + + '@vue/compiler-sfc@3.5.13': + dependencies: + '@babel/parser': 7.26.9 + '@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.17 + postcss: 8.5.3 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.13': + dependencies: + '@vue/compiler-dom': 3.5.13 + '@vue/shared': 3.5.13 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/devtools-api@6.6.4': {} + + '@vue/devtools-core@7.7.2(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@vue/devtools-kit': 7.7.2 + '@vue/devtools-shared': 7.7.2 + mitt: 3.0.1 + nanoid: 5.1.3 + pathe: 2.0.3 + vite-hot-client: 0.2.4(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)) + vue: 3.5.13(typescript@5.7.3) + transitivePeerDependencies: + - vite + + '@vue/devtools-kit@7.7.2': + dependencies: + '@vue/devtools-shared': 7.7.2 + birpc: 0.2.19 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.2 + + '@vue/devtools-shared@7.7.2': + dependencies: + rfdc: 1.4.1 + + '@vue/language-core@2.2.0(typescript@5.7.3)': + dependencies: + '@volar/language-core': 2.4.12 + '@vue/compiler-dom': 3.5.13 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.13 + alien-signals: 0.4.14 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.7.3 + + '@vue/reactivity@3.5.13': + dependencies: + '@vue/shared': 3.5.13 + + '@vue/runtime-core@3.5.13': + dependencies: + '@vue/reactivity': 3.5.13 + '@vue/shared': 3.5.13 + + '@vue/runtime-dom@3.5.13': + dependencies: + '@vue/reactivity': 3.5.13 + '@vue/runtime-core': 3.5.13 + '@vue/shared': 3.5.13 + csstype: 3.1.3 + + '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.7.3))': + dependencies: + '@vue/compiler-ssr': 3.5.13 + '@vue/shared': 3.5.13 + vue: 3.5.13(typescript@5.7.3) + + '@vue/shared@3.5.13': {} + + '@vueuse/core@12.4.0(typescript@5.7.3)': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 12.4.0 + '@vueuse/shared': 12.4.0(typescript@5.7.3) + vue: 3.5.13(typescript@5.7.3) + transitivePeerDependencies: + - typescript + + '@vueuse/metadata@12.4.0': {} + + '@vueuse/shared@12.4.0(typescript@5.7.3)': + dependencies: + vue: 3.5.13(typescript@5.7.3) + transitivePeerDependencies: + - typescript + + acorn@8.14.1: {} + + alien-signals@0.4.14: {} + + ansi-regex@2.1.1: {} + + ansi-styles@2.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + arr-diff@4.0.0: {} + + arr-flatten@1.1.0: {} + + arr-union@3.1.0: {} + + array-buffer-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + is-array-buffer: 3.0.5 + + array-unique@0.3.2: {} + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 + + assign-symbols@1.0.0: {} + + async-function@1.0.0: {} + + asynckit@0.4.0: {} + + atob@2.1.2: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + axios@1.8.2: + dependencies: + follow-redirects: 1.15.9 + form-data: 4.0.2 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + balanced-match@1.0.2: {} + + base@0.11.2: + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + birpc@0.2.19: {} + + bluebird@3.7.2: {} + + boolbase@1.0.0: {} + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@2.3.2: + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.24.4: + dependencies: + caniuse-lite: 1.0.30001703 + electron-to-chromium: 1.5.114 + node-releases: 2.0.19 + update-browserslist-db: 1.1.3(browserslist@4.24.4) + + bundle-name@4.1.0: + dependencies: + run-applescript: 7.0.0 + + bundle-require@5.1.0(esbuild@0.25.1): + dependencies: + esbuild: 0.25.1 + load-tsconfig: 0.2.5 + + c12@3.0.2: + dependencies: + chokidar: 4.0.3 + confbox: 0.1.8 + defu: 6.1.4 + dotenv: 16.4.7 + exsolve: 1.0.4 + giget: 2.0.0 + jiti: 2.4.2 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 1.0.0 + pkg-types: 2.1.0 + rc9: 2.1.2 + + cache-base@1.0.1: + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + caniuse-lite@1.0.30001703: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + citty@0.1.6: + dependencies: + consola: 3.4.0 + + class-utils@0.3.6: + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + + clipboard@2.0.11: + dependencies: + good-listener: 1.2.2 + select: 1.1.2 + tiny-emitter: 2.1.0 + + clone@2.1.2: {} + + collection-visit@1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@7.2.0: {} + + component-emitter@1.3.1: {} + + confbox@0.1.8: {} + + confbox@0.2.1: {} + + consola@3.4.0: {} + + convert-source-map@2.0.0: {} + + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + + copy-descriptor@0.1.1: {} + + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + css-tree@3.1.0: + dependencies: + mdn-data: 2.12.2 + source-map-js: 1.2.1 + + css-what@6.1.0: {} + + csso@4.2.0: + dependencies: + css-tree: 1.1.3 + + csstype@3.1.3: {} + + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-length@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + data-view-byte-offset@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 + + dayjs@1.11.13: {} + + de-indent@1.0.2: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decode-uri-component@0.2.2: {} + + deep-pick-omit@1.2.1: {} + + default-browser-id@5.0.0: {} + + default-browser@5.2.1: + dependencies: + bundle-name: 4.1.0 + default-browser-id: 5.0.0 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-lazy-prop@3.0.0: {} + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + define-property@0.2.5: + dependencies: + is-descriptor: 0.1.7 + + define-property@1.0.0: + dependencies: + is-descriptor: 1.0.3 + + define-property@2.0.2: + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + + defu@6.1.4: {} + + delayed-stream@1.0.0: {} + + delegate@3.2.0: {} + + destr@2.0.3: {} + + detect-libc@1.0.3: + optional: true + + dom-serializer@0.2.2: + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + domelementtype@1.3.1: {} + + domelementtype@2.3.0: {} + + domhandler@2.4.2: + dependencies: + domelementtype: 1.3.1 + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domutils@1.7.0: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + dotenv@16.4.7: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + duplexer@0.1.2: {} + + electron-to-chromium@1.5.114: {} + + emojis-list@3.0.0: {} + + entities@1.1.2: {} + + entities@2.2.0: {} + + entities@4.5.0: {} + + error-stack-parser-es@0.1.5: {} + + errx@0.1.0: {} + + es-abstract@1.23.9: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 + is-callable: 1.2.7 + is-data-view: 1.0.2 + is-regex: 1.2.1 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 + object-keys: 1.1.1 + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.19 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-to-primitive@1.3.0: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.1.0 + is-symbol: 1.1.1 + + esbuild@0.23.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.23.1 + '@esbuild/android-arm': 0.23.1 + '@esbuild/android-arm64': 0.23.1 + '@esbuild/android-x64': 0.23.1 + '@esbuild/darwin-arm64': 0.23.1 + '@esbuild/darwin-x64': 0.23.1 + '@esbuild/freebsd-arm64': 0.23.1 + '@esbuild/freebsd-x64': 0.23.1 + '@esbuild/linux-arm': 0.23.1 + '@esbuild/linux-arm64': 0.23.1 + '@esbuild/linux-ia32': 0.23.1 + '@esbuild/linux-loong64': 0.23.1 + '@esbuild/linux-mips64el': 0.23.1 + '@esbuild/linux-ppc64': 0.23.1 + '@esbuild/linux-riscv64': 0.23.1 + '@esbuild/linux-s390x': 0.23.1 + '@esbuild/linux-x64': 0.23.1 + '@esbuild/netbsd-x64': 0.23.1 + '@esbuild/openbsd-arm64': 0.23.1 + '@esbuild/openbsd-x64': 0.23.1 + '@esbuild/sunos-x64': 0.23.1 + '@esbuild/win32-arm64': 0.23.1 + '@esbuild/win32-ia32': 0.23.1 + '@esbuild/win32-x64': 0.23.1 + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + esbuild@0.25.1: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.1 + '@esbuild/android-arm': 0.25.1 + '@esbuild/android-arm64': 0.25.1 + '@esbuild/android-x64': 0.25.1 + '@esbuild/darwin-arm64': 0.25.1 + '@esbuild/darwin-x64': 0.25.1 + '@esbuild/freebsd-arm64': 0.25.1 + '@esbuild/freebsd-x64': 0.25.1 + '@esbuild/linux-arm': 0.25.1 + '@esbuild/linux-arm64': 0.25.1 + '@esbuild/linux-ia32': 0.25.1 + '@esbuild/linux-loong64': 0.25.1 + '@esbuild/linux-mips64el': 0.25.1 + '@esbuild/linux-ppc64': 0.25.1 + '@esbuild/linux-riscv64': 0.25.1 + '@esbuild/linux-s390x': 0.25.1 + '@esbuild/linux-x64': 0.25.1 + '@esbuild/netbsd-arm64': 0.25.1 + '@esbuild/netbsd-x64': 0.25.1 + '@esbuild/openbsd-arm64': 0.25.1 + '@esbuild/openbsd-x64': 0.25.1 + '@esbuild/sunos-x64': 0.25.1 + '@esbuild/win32-arm64': 0.25.1 + '@esbuild/win32-ia32': 0.25.1 + '@esbuild/win32-x64': 0.25.1 + + escalade@3.2.0: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@5.0.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.6 + + etag@1.8.1: {} + + execa@9.5.2: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.6 + figures: 6.1.0 + get-stream: 9.0.1 + 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.2.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.1 + + expand-brackets@2.1.4: + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + exsolve@1.0.4: {} + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend-shallow@3.0.2: + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + + extglob@2.0.4: + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + + fill-range@4.0.0: + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + follow-redirects@1.15.9: {} + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + for-in@1.0.2: {} + + form-data@4.0.2: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + mime-types: 2.1.35 + + fragment-cache@0.2.1: + dependencies: + map-cache: 0.2.2 + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs-extra@11.3.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.8: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 + + functions-have-names@1.2.3: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.3.0: + 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 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + + get-symbol-description@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + + get-tsconfig@4.10.0: + dependencies: + resolve-pkg-maps: 1.0.0 + + get-value@2.0.6: {} + + giget@2.0.0: + dependencies: + citty: 0.1.6 + consola: 3.4.0 + defu: 6.1.4 + node-fetch-native: 1.6.6 + nypm: 0.6.0 + pathe: 2.0.3 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + globals@11.12.0: {} + + globals@15.15.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 + + globby@14.1.0: + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.3 + ignore: 7.0.3 + path-type: 6.0.0 + slash: 5.1.0 + unicorn-magic: 0.3.0 + + good-listener@1.2.2: + dependencies: + delegate: 3.2.0 + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + + has-bigints@1.1.0: {} + + has-flag@1.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-proto@1.2.0: + dependencies: + dunder-proto: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + has-value@0.3.1: + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + + has-value@1.0.0: + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + + has-values@0.1.4: {} + + has-values@1.0.0: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + hookable@5.5.3: {} + + htmlparser2@3.10.1: + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + + human-signals@8.0.0: {} + + ignore@7.0.3: {} + + image-size@0.5.5: {} + + immutable@5.0.3: {} + + importx@0.5.2: + dependencies: + bundle-require: 5.1.0(esbuild@0.25.1) + debug: 4.4.0 + esbuild: 0.25.1 + jiti: 2.4.2 + pathe: 2.0.3 + tsx: 4.19.2 + transitivePeerDependencies: + - supports-color + + inherits@2.0.4: {} + + internal-slot@1.1.0: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 + + is-accessor-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-array-buffer@3.0.5: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-async-function@2.1.1: + dependencies: + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-bigint@1.1.0: + dependencies: + has-bigints: 1.1.0 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.2.2: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-buffer@1.1.6: {} + + is-callable@1.2.7: {} + + is-data-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.2: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 + + is-date-object@1.1.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-descriptor@0.1.7: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-descriptor@1.0.3: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-docker@3.0.0: {} + + is-extendable@0.1.1: {} + + is-extendable@1.0.1: + dependencies: + is-plain-object: 2.0.4 + + is-extglob@2.1.1: {} + + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-generator-function@1.1.0: + dependencies: + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 + + is-map@2.0.3: {} + + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-number@3.0.0: + dependencies: + kind-of: 3.2.2 + + is-number@7.0.0: {} + + is-plain-obj@1.1.0: {} + + is-plain-obj@4.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} + + is-shared-array-buffer@1.0.4: + dependencies: + call-bound: 1.0.4 + + is-stream@4.0.1: {} + + is-string@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-symbol@1.1.1: + dependencies: + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 + + is-unicode-supported@2.1.0: {} + + is-weakmap@2.0.2: {} + + is-weakref@1.1.1: + dependencies: + call-bound: 1.0.4 + + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + + is-what@4.1.16: {} + + is-windows@1.0.2: {} + + is-wsl@3.1.0: + dependencies: + is-inside-container: 1.0.0 + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isobject@2.1.0: + dependencies: + isarray: 1.0.0 + + isobject@3.0.1: {} + + jiti@2.4.2: {} + + js-base64@2.6.4: {} + + js-tokens@4.0.0: {} + + js-tokens@9.0.1: {} + + jsesc@3.1.0: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@4.0.0: + dependencies: + is-buffer: 1.1.6 + + kind-of@5.1.0: {} + + kind-of@6.0.3: {} + + klona@2.0.6: {} + + knitwork@1.2.0: {} + + kolorist@1.8.0: {} + + load-tsconfig@0.2.5: {} + + loader-utils@1.4.2: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + + local-pkg@0.5.1: + dependencies: + mlly: 1.7.4 + pkg-types: 1.3.1 + + local-pkg@1.1.1: + dependencies: + mlly: 1.7.4 + pkg-types: 2.1.0 + quansync: 0.2.8 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + map-cache@0.2.2: {} + + map-visit@1.0.0: + dependencies: + object-visit: 1.0.1 + + math-intrinsics@1.1.0: {} + + mdn-data@2.0.14: {} + + mdn-data@2.12.2: {} + + merge-options@1.0.1: + dependencies: + is-plain-obj: 1.1.0 + + merge2@1.4.1: {} + + micromatch@3.1.0: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 1.0.0 + extend-shallow: 2.0.1 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 5.1.0 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + mitt@3.0.1: {} + + mixin-deep@1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + + mlly@1.7.4: + dependencies: + acorn: 8.14.1 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.5.4 + + mrmime@2.0.1: {} + + ms@2.0.0: {} + + ms@2.1.3: {} + + muggle-string@0.4.1: {} + + nanoid@3.3.9: {} + + nanoid@5.1.3: {} + + nanomatch@1.2.13: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + node-addon-api@7.1.1: + optional: true + + node-fetch-native@1.6.6: {} + + node-releases@2.0.19: {} + + normalize-path@3.0.0: {} + + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + nypm@0.6.0: + dependencies: + citty: 0.1.6 + consola: 3.4.0 + pathe: 2.0.3 + pkg-types: 2.1.0 + tinyexec: 0.3.2 + + object-assign@4.1.1: {} + + object-copy@0.1.0: + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + + object-inspect@1.13.4: {} + + object-keys@1.1.1: {} + + object-visit@1.0.1: + dependencies: + isobject: 3.0.1 + + object.assign@4.1.7: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 + object-keys: 1.1.1 + + object.pick@1.3.0: + dependencies: + isobject: 3.0.1 + + ofetch@1.4.1: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.6 + ufo: 1.5.4 + + ohash@2.0.11: {} + + open@10.1.0: + dependencies: + default-browser: 5.2.1 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 3.1.0 + + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 + + package-manager-detector@0.2.11: + dependencies: + quansync: 0.2.8 + + parse-ms@4.0.0: {} + + pascalcase@0.1.1: {} + + path-browserify@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-type@6.0.0: {} + + pathe@0.2.0: {} + + pathe@1.1.2: {} + + pathe@2.0.3: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + pinia-plugin-persistedstate@4.2.0(pinia@2.3.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))): + dependencies: + '@nuxt/kit': 3.16.0 + deep-pick-omit: 1.2.1 + defu: 6.1.4 + destr: 2.0.3 + optionalDependencies: + pinia: 2.3.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) + transitivePeerDependencies: + - magicast + + pinia@2.3.0(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.7.3) + vue-demi: 0.14.10(vue@3.5.13(typescript@5.7.3)) + optionalDependencies: + typescript: 5.7.3 + transitivePeerDependencies: + - '@vue/composition-api' + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 + + pkg-types@2.1.0: + dependencies: + confbox: 0.2.1 + exsolve: 1.0.4 + pathe: 2.0.3 + + posix-character-classes@0.1.1: {} + + possible-typed-array-names@1.1.0: {} + + postcss-prefix-selector@1.16.1(postcss@5.2.18): + dependencies: + postcss: 5.2.18 + + postcss@5.2.18: + dependencies: + chalk: 1.1.3 + js-base64: 2.6.4 + source-map: 0.5.7 + supports-color: 3.2.3 + + postcss@8.5.3: + dependencies: + nanoid: 3.3.9 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + posthtml-parser@0.2.1: + dependencies: + htmlparser2: 3.10.1 + isobject: 2.1.0 + + posthtml-rename-id@1.0.12: + dependencies: + escape-string-regexp: 1.0.5 + + posthtml-render@1.4.0: {} + + posthtml-svg-mode@1.0.3: + dependencies: + merge-options: 1.0.1 + posthtml: 0.9.2 + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + + posthtml@0.9.2: + dependencies: + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + + progress@2.0.3: {} + + proxy-from-env@1.1.0: {} + + qs@6.14.0: + dependencies: + side-channel: 1.1.0 + + quansync@0.2.8: {} + + query-string@4.3.4: + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + + queue-microtask@1.2.3: {} + + rc9@2.1.2: + dependencies: + defu: 6.1.4 + destr: 2.0.3 + + rd@2.0.1: + dependencies: + '@types/node': 10.17.60 + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: {} + + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 + + regex-not@1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + + regexp.prototype.flags@1.5.4: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + repeat-element@1.1.4: {} + + repeat-string@1.6.1: {} + + resolve-pkg-maps@1.0.0: {} + + resolve-url@0.2.1: {} + + ret@0.1.15: {} + + reusify@1.1.0: {} + + rfdc@1.4.1: {} + + rollup@4.35.0: + dependencies: + '@types/estree': 1.0.6 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.35.0 + '@rollup/rollup-android-arm64': 4.35.0 + '@rollup/rollup-darwin-arm64': 4.35.0 + '@rollup/rollup-darwin-x64': 4.35.0 + '@rollup/rollup-freebsd-arm64': 4.35.0 + '@rollup/rollup-freebsd-x64': 4.35.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.35.0 + '@rollup/rollup-linux-arm-musleabihf': 4.35.0 + '@rollup/rollup-linux-arm64-gnu': 4.35.0 + '@rollup/rollup-linux-arm64-musl': 4.35.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.35.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.35.0 + '@rollup/rollup-linux-riscv64-gnu': 4.35.0 + '@rollup/rollup-linux-s390x-gnu': 4.35.0 + '@rollup/rollup-linux-x64-gnu': 4.35.0 + '@rollup/rollup-linux-x64-musl': 4.35.0 + '@rollup/rollup-win32-arm64-msvc': 4.35.0 + '@rollup/rollup-win32-ia32-msvc': 4.35.0 + '@rollup/rollup-win32-x64-msvc': 4.35.0 + fsevents: 2.3.3 + + run-applescript@7.0.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-array-concat@1.1.3: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 + + safe-buffer@5.2.1: {} + + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safe-regex@1.1.0: + dependencies: + ret: 0.1.15 + + sass@1.83.4: + dependencies: + chokidar: 4.0.3 + immutable: 5.0.3 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + + scule@1.3.0: {} + + select@1.1.2: {} + + semver@6.3.1: {} + + semver@7.7.1: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + + set-value@2.0.1: + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + + side-channel-map@1.0.1: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 + + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 + + signal-exit@4.1.0: {} + + sirv@3.0.1: + dependencies: + '@polka/url': 1.0.0-next.28 + mrmime: 2.0.1 + totalist: 3.0.1 + + slash@5.1.0: {} + + snapdragon-node@2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + + snapdragon-util@3.0.1: + dependencies: + kind-of: 3.2.2 + + snapdragon@0.8.2: + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + + source-map-js@1.2.1: {} + + source-map-resolve@0.5.3: + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + + source-map-url@0.4.1: {} + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + speakingurl@14.0.1: {} + + split-string@3.1.0: + dependencies: + extend-shallow: 3.0.2 + + stable@0.1.8: {} + + static-extend@0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + + std-env@3.8.1: {} + + strict-uri-encode@1.1.0: {} + + string.prototype.trim@1.2.10: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 + + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + + strip-final-newline@4.0.0: {} + + strip-literal@3.0.0: + dependencies: + js-tokens: 9.0.1 + + superjson@2.2.2: + dependencies: + copy-anything: 3.0.5 + + supports-color@2.0.0: {} + + supports-color@3.2.3: + dependencies: + has-flag: 1.0.0 + + svg-baker@1.7.0: + dependencies: + bluebird: 3.7.2 + clone: 2.1.2 + he: 1.2.0 + image-size: 0.5.5 + loader-utils: 1.4.2 + merge-options: 1.0.1 + micromatch: 3.1.0 + postcss: 5.2.18 + postcss-prefix-selector: 1.16.1(postcss@5.2.18) + posthtml-rename-id: 1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: 4.3.4 + traverse: 0.6.11 + transitivePeerDependencies: + - supports-color + + svgo@2.8.0: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.1.1 + stable: 0.1.8 + + tailwind-merge@2.6.0: {} + + tiny-emitter@2.1.0: {} + + tinyexec@0.3.2: {} + + tinyglobby@0.2.12: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + + to-object-path@0.3.0: + dependencies: + kind-of: 3.2.2 + + to-regex-range@2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + to-regex@3.0.2: + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + + totalist@3.0.1: {} + + traverse@0.6.11: + dependencies: + gopd: 1.2.0 + typedarray.prototype.slice: 1.0.5 + which-typed-array: 1.1.19 + + tsx@4.19.2: + dependencies: + esbuild: 0.23.1 + get-tsconfig: 4.10.0 + optionalDependencies: + fsevents: 2.3.3 + + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 + + typed-array-byte-length@1.0.3: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 + + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 + + typedarray.prototype.slice@1.0.5: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.23.9 + es-errors: 1.3.0 + get-proto: 1.0.1 + math-intrinsics: 1.1.0 + typed-array-buffer: 1.0.3 + typed-array-byte-offset: 1.0.4 + + typescript@5.7.3: {} + + ufo@1.5.4: {} + + unbox-primitive@1.1.0: + dependencies: + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 + + unconfig@0.6.1: + dependencies: + '@antfu/utils': 8.1.1 + defu: 6.1.4 + importx: 0.5.2 + transitivePeerDependencies: + - supports-color + + unctx@2.4.1: + dependencies: + acorn: 8.14.1 + estree-walker: 3.0.3 + magic-string: 0.30.17 + unplugin: 2.2.0 + + undici-types@6.20.0: {} + + unicorn-magic@0.3.0: {} + + unimport@4.1.2: + 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: 1.3.1 + scule: 1.3.0 + strip-literal: 3.0.0 + tinyglobby: 0.2.12 + unplugin: 2.2.0 + unplugin-utils: 0.2.4 + + union-value@1.0.1: + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + + universalify@2.0.1: {} + + unplugin-icons@22.0.0(@vue/compiler-sfc@3.5.13): + dependencies: + '@antfu/install-pkg': 0.5.0 + '@antfu/utils': 0.7.10 + '@iconify/utils': 2.3.0 + debug: 4.4.0 + kolorist: 1.8.0 + local-pkg: 0.5.1 + unplugin: 2.2.0 + optionalDependencies: + '@vue/compiler-sfc': 3.5.13 + transitivePeerDependencies: + - supports-color + + unplugin-utils@0.2.4: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.2 + + unplugin-vue-components@28.0.0(@babel/parser@7.26.9)(@nuxt/kit@3.16.0)(rollup@4.35.0)(vue@3.5.13(typescript@5.7.3)): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.4(rollup@4.35.0) + chokidar: 3.6.0 + debug: 4.4.0 + fast-glob: 3.3.3 + local-pkg: 0.5.1 + magic-string: 0.30.17 + minimatch: 9.0.5 + mlly: 1.7.4 + unplugin: 2.2.0 + vue: 3.5.13(typescript@5.7.3) + optionalDependencies: + '@babel/parser': 7.26.9 + '@nuxt/kit': 3.16.0 + transitivePeerDependencies: + - rollup + - supports-color + + unplugin@2.2.0: + dependencies: + acorn: 8.14.1 + webpack-virtual-modules: 0.6.2 + + unset-value@1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + + untyped@2.0.0: + dependencies: + citty: 0.1.6 + defu: 6.1.4 + jiti: 2.4.2 + knitwork: 1.2.0 + scule: 1.3.0 + + update-browserslist-db@1.1.3(browserslist@4.24.4): + dependencies: + browserslist: 4.24.4 + escalade: 3.2.0 + picocolors: 1.1.1 + + urix@0.1.0: {} + + use@3.1.1: {} + + util-deprecate@1.0.2: {} + + vary@1.1.2: {} + + vite-hot-client@0.2.4(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)): + dependencies: + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + + vite-plugin-inspect@0.8.9(@nuxt/kit@3.16.0)(rollup@4.35.0)(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.4(rollup@4.35.0) + debug: 4.4.0 + error-stack-parser-es: 0.1.5 + fs-extra: 11.3.0 + open: 10.1.0 + perfect-debounce: 1.0.0 + picocolors: 1.1.1 + sirv: 3.0.1 + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + optionalDependencies: + '@nuxt/kit': 3.16.0 + transitivePeerDependencies: + - rollup + - supports-color + + vite-plugin-progress@0.0.7(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)): + dependencies: + picocolors: 1.1.1 + progress: 2.0.3 + rd: 2.0.1 + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + + vite-plugin-svg-icons@2.0.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)): + dependencies: + '@types/svgo': 2.6.4 + cors: 2.8.5 + debug: 4.4.0 + etag: 1.8.1 + fs-extra: 10.1.0 + pathe: 0.2.0 + svg-baker: 1.7.0 + svgo: 2.8.0 + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + transitivePeerDependencies: + - supports-color + + vite-plugin-vue-devtools@7.7.0(@nuxt/kit@3.16.0)(rollup@4.35.0)(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3)): + dependencies: + '@vue/devtools-core': 7.7.2(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2))(vue@3.5.13(typescript@5.7.3)) + '@vue/devtools-kit': 7.7.2 + '@vue/devtools-shared': 7.7.2 + execa: 9.5.2 + sirv: 3.0.1 + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + vite-plugin-inspect: 0.8.9(@nuxt/kit@3.16.0)(rollup@4.35.0)(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)) + vite-plugin-vue-inspector: 5.3.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)) + transitivePeerDependencies: + - '@nuxt/kit' + - rollup + - supports-color + - vue + + vite-plugin-vue-inspector@5.3.1(vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2)): + dependencies: + '@babel/core': 7.26.9 + '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.9) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.9) + '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.9) + '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.26.9) + '@vue/compiler-dom': 3.5.13 + kolorist: 1.8.0 + magic-string: 0.30.17 + vite: 6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2) + transitivePeerDependencies: + - supports-color + + vite@6.0.7(@types/node@22.10.7)(jiti@2.4.2)(sass@1.83.4)(tsx@4.19.2): + dependencies: + esbuild: 0.24.2 + postcss: 8.5.3 + rollup: 4.35.0 + optionalDependencies: + '@types/node': 22.10.7 + fsevents: 2.3.3 + jiti: 2.4.2 + sass: 1.83.4 + tsx: 4.19.2 + + vscode-uri@3.1.0: {} + + vue-demi@0.14.10(vue@3.5.13(typescript@5.7.3)): + dependencies: + vue: 3.5.13(typescript@5.7.3) + + vue-flow-layout@0.1.1(vue@3.5.13(typescript@5.7.3)): + dependencies: + vue: 3.5.13(typescript@5.7.3) + + vue-router@4.5.0(vue@3.5.13(typescript@5.7.3)): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.13(typescript@5.7.3) + + vue-tsc@2.2.0(typescript@5.7.3): + dependencies: + '@volar/typescript': 2.4.12 + '@vue/language-core': 2.2.0(typescript@5.7.3) + typescript: 5.7.3 + + vue@3.5.13(typescript@5.7.3): + 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@3.5.13(typescript@5.7.3)) + '@vue/shared': 3.5.13 + optionalDependencies: + typescript: 5.7.3 + + webpack-virtual-modules@0.6.2: {} + + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.0 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.19 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + yallist@3.1.1: {} + + yoctocolors@2.1.1: {} diff --git a/code/iibta/iibta-vue/public/favicon.svg b/code/iibta/iibta-vue/public/favicon.svg new file mode 100644 index 00000000..169b2ab6 --- /dev/null +++ b/code/iibta/iibta-vue/public/favicon.svg @@ -0,0 +1 @@ + diff --git a/code/iibta/iibta-vue/public/fonts/fontawesome-webfont.woff2 b/code/iibta/iibta-vue/public/fonts/fontawesome-webfont.woff2 new file mode 100644 index 00000000..4d13fc60 Binary files /dev/null and b/code/iibta/iibta-vue/public/fonts/fontawesome-webfont.woff2 differ diff --git a/code/iibta/iibta-vue/public/static/images/logo.gif b/code/iibta/iibta-vue/public/static/images/logo.gif new file mode 100644 index 00000000..0829ef50 Binary files /dev/null and b/code/iibta/iibta-vue/public/static/images/logo.gif differ diff --git a/code/iibta/iibta-vue/src/App.vue b/code/iibta/iibta-vue/src/App.vue new file mode 100644 index 00000000..dab0b37a --- /dev/null +++ b/code/iibta/iibta-vue/src/App.vue @@ -0,0 +1,6 @@ + + + + diff --git a/code/iibta/iibta-vue/src/components/svg-icon.vue b/code/iibta/iibta-vue/src/components/svg-icon.vue new file mode 100644 index 00000000..504763e1 --- /dev/null +++ b/code/iibta/iibta-vue/src/components/svg-icon.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/code/iibta/iibta-vue/src/interceptors/http.ts b/code/iibta/iibta-vue/src/interceptors/http.ts new file mode 100644 index 00000000..c719b0c2 --- /dev/null +++ b/code/iibta/iibta-vue/src/interceptors/http.ts @@ -0,0 +1,136 @@ +import axios, { AxiosInstance, AxiosResponse, AxiosError, InternalAxiosRequestConfig } from "axios"; +import { Message } from "@arco-design/web-vue"; +import { useRouterStore } from "@/store/router"; +import { useUserStore } from "@/store/user"; +import { ResponseStatusEnum, ResponseStatusErrorMessageEnum } from "@/types/enums" + +const buildBaseUrl = () => { + const isProxy = import.meta.env.VITE_APP_PROXY === "Y"; + const mode = import.meta.env.MODE; + const proxyPrefix = import.meta.env.VITE_APP_PROXY_PREFIX; + + const baseURL = import.meta.env.VITE_SERVER_BASEURL; + + if (mode === "prod") { + if (isProxy) { + return baseURL + proxyPrefix; + } else { + return baseURL; + } + } else { + if (isProxy) { + return proxyPrefix; + } else { + return baseURL; + } + } +}; + +const axiosInstance: AxiosInstance = axios.create({ + baseURL: buildBaseUrl(), + timeout: 0 +}); + + +// 请求拦截器 +axiosInstance.interceptors.request.use( + (config: InternalAxiosRequestConfig) => { + const userStore = useUserStore(); + const noFreePaths = ["/imMessage/**"]; + const path = config.url || ""; + + const needAuth = noFreePaths.some((pattern) => { + const regex = new RegExp( + pattern + .replace(/(\/\*\*)/g, "(/.*)?") + .replace(/(\/\*)/g, "(/[^/]*)?") + .replace(/\./g, "\\.") + "$" + ); + return regex.test(path); + }); + + if (needAuth) { + userStore.clearUserInfo(); + return Promise.reject(new Error("尚未登录,请先登录!")); + } + + // 如果 token 存在,添加到请求头 + config.headers["Authorization"] = `Bearer ${userStore.userInfo.token}`; + config.headers["id"] = userStore.userInfo.id; + + return config; + }, + (error: AxiosError) => { + return Promise.reject(error); + } +); + +axiosInstance.interceptors.response.use( + (response: AxiosResponse) => { + // 判断响应是否为文件下载类型(例如 application/octet-stream) + const isDownload = isDownloadResponse(response.headers); + // 如果是文件下载,直接返回响应数据,不做其他处理 + if (isDownload) { + return response; + } + + // 如果不是文件下载,继续进行错误处理和数据解析 + if (response.status !== 200) { + Message.error("请求错误"); + return Promise.reject(); + } + + const resData = response.data as IResData; + + // 解析返回数据中的字段 + response.data.data = parseJsonOrReturnString(response.data.data); + + const routerStore = useRouterStore(); + const userStore = useUserStore(); + + if (resData.code >= 200 && resData.code < 300) { + return Promise.resolve(response.data); + } else if (resData.code >= 400 && resData.code <= 500) { + Message.error(resData.message || "请求错误"); + switch (resData.code) { + case ResponseStatusEnum.UNAUTHORIZED: + if (routerStore.getCurrentPath() !== "/login") { + userStore.clearUserInfo(); + routerStore.toPath("/login"); + } + } + return Promise.reject(resData); + } else { + Message.error(resData.message || "请求错误"); + return Promise.reject(resData); + } + }, + (error: AxiosError) => { + // 网络错误处理 + switch (error.message) { + case ResponseStatusErrorMessageEnum.NO_LOGIN: + Message.error(ResponseStatusErrorMessageEnum.NO_LOGIN); + break; + default: + // 其他情况提示网络错误 + Message.error("网络错误,请换个网络试试!"); + } + } +); + +function isDownloadResponse(headers: any): boolean { + const contentType = headers["content-type"]; + return /application\/(octet-stream|force-download|pdf|vnd.ms-excel|msexcel|OCTET-STREAM)/.test(contentType || ""); +} + +function parseJsonOrReturnString(input: any) { + try { + // 尝试解析输入字符串 + return JSON.parse(input); // 如果成功,返回解析后的内容 + } catch { + // 如果解析失败,则返回原始字符串 + return input; + } +} + +export default axiosInstance; diff --git a/code/iibta/iibta-vue/src/layouts/base-layout/index.vue b/code/iibta/iibta-vue/src/layouts/base-layout/index.vue new file mode 100644 index 00000000..df816d56 --- /dev/null +++ b/code/iibta/iibta-vue/src/layouts/base-layout/index.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/code/iibta/iibta-vue/src/layouts/center/index.vue b/code/iibta/iibta-vue/src/layouts/center/index.vue new file mode 100644 index 00000000..cf9ed486 --- /dev/null +++ b/code/iibta/iibta-vue/src/layouts/center/index.vue @@ -0,0 +1,7 @@ + + + + + diff --git a/code/iibta/iibta-vue/src/layouts/footer/index.vue b/code/iibta/iibta-vue/src/layouts/footer/index.vue new file mode 100644 index 00000000..8aa79760 --- /dev/null +++ b/code/iibta/iibta-vue/src/layouts/footer/index.vue @@ -0,0 +1,14 @@ + + + + + diff --git a/code/iibta/iibta-vue/src/layouts/topbar/index.vue b/code/iibta/iibta-vue/src/layouts/topbar/index.vue new file mode 100644 index 00000000..a8d1ba2a --- /dev/null +++ b/code/iibta/iibta-vue/src/layouts/topbar/index.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/code/iibta/iibta-vue/src/main.ts b/code/iibta/iibta-vue/src/main.ts new file mode 100644 index 00000000..abd61e78 --- /dev/null +++ b/code/iibta/iibta-vue/src/main.ts @@ -0,0 +1,17 @@ +import { createApp } from "vue"; +import "./plugins/assets"; +import { setupNProgress } from "./plugins/index"; +import { setupPinia } from "./store"; +import { setupRouter } from "./router/index"; +import App from "./App.vue"; + +async function setupApp() { + setupNProgress(); + + const app = createApp(App); + setupPinia(app); + setupRouter(app); + app.mount("#app"); +} + +setupApp(); diff --git a/code/iibta/iibta-vue/src/pages/aboutUs/index.vue b/code/iibta/iibta-vue/src/pages/aboutUs/index.vue new file mode 100644 index 00000000..fb770e6c --- /dev/null +++ b/code/iibta/iibta-vue/src/pages/aboutUs/index.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/code/iibta/iibta-vue/src/pages/home/index.vue b/code/iibta/iibta-vue/src/pages/home/index.vue new file mode 100644 index 00000000..033c005f --- /dev/null +++ b/code/iibta/iibta-vue/src/pages/home/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/code/iibta/iibta-vue/src/plugins/assets.ts b/code/iibta/iibta-vue/src/plugins/assets.ts new file mode 100644 index 00000000..0311cd2c --- /dev/null +++ b/code/iibta/iibta-vue/src/plugins/assets.ts @@ -0,0 +1,3 @@ +// import "uno.css"; +// import "virtual:svg-icons-register"; +import "../styles/css/global.css"; diff --git a/code/iibta/iibta-vue/src/plugins/index.ts b/code/iibta/iibta-vue/src/plugins/index.ts new file mode 100644 index 00000000..3b613701 --- /dev/null +++ b/code/iibta/iibta-vue/src/plugins/index.ts @@ -0,0 +1 @@ +export * from "./nprocess"; diff --git a/code/iibta/iibta-vue/src/plugins/nprocess.ts b/code/iibta/iibta-vue/src/plugins/nprocess.ts new file mode 100644 index 00000000..30a0722f --- /dev/null +++ b/code/iibta/iibta-vue/src/plugins/nprocess.ts @@ -0,0 +1,7 @@ +import NProgress from "nprogress"; + +export function setupNProgress() { + NProgress.configure({ easing: "ease", speed: 500 }); + + window.NProgress = NProgress; +} diff --git a/code/iibta/iibta-vue/src/router/index.ts b/code/iibta/iibta-vue/src/router/index.ts new file mode 100644 index 00000000..b5d3479f --- /dev/null +++ b/code/iibta/iibta-vue/src/router/index.ts @@ -0,0 +1,24 @@ +import type { App } from "vue"; +import { createRouter, createWebHashHistory } from "vue-router"; +import routes from "./routes"; + +const router = createRouter({ + history: createWebHashHistory(), + strict: true, + routes: routes, + scrollBehavior: () => ({ left: 0, top: 0 }), +}); + +router.beforeEach((to, from, next) => { + window.NProgress?.start?.(); + + next(); +}); + +router.afterEach(() => { + window.NProgress?.done?.(); +}); + +export function setupRouter(app: App) { + app.use(router); +} diff --git a/code/iibta/iibta-vue/src/router/routes.ts b/code/iibta/iibta-vue/src/router/routes.ts new file mode 100644 index 00000000..09a7282f --- /dev/null +++ b/code/iibta/iibta-vue/src/router/routes.ts @@ -0,0 +1,26 @@ +import { RouteRecordRaw } from "vue-router"; + +import BaseLayout from "@/layouts/base-layout/index.vue"; +import Home from "@/pages/home/index.vue"; +import AboutUs from "@/pages/aboutUs/index.vue"; +const routes: RouteRecordRaw[] = [ + { + path: "/", + component: BaseLayout, + redirect: "/home", + children: [ + { + path: "/home", + component: Home + }, + { + path: "/aboutUs", + component: AboutUs + }, + + ] + }, + +]; + +export default routes; diff --git a/code/iibta/iibta-vue/src/service/foo.ts b/code/iibta/iibta-vue/src/service/foo.ts new file mode 100644 index 00000000..60a66fc7 --- /dev/null +++ b/code/iibta/iibta-vue/src/service/foo.ts @@ -0,0 +1,11 @@ +import { httpGet } from "@/utils/http"; + +export interface AreaType { + label: string; + value: number; + children?: AreaType[]; +} + +export const getAreaTreeDataApi = () => { + return httpGet(`/area/getTreeData`); +}; diff --git a/code/iibta/iibta-vue/src/store/index.ts b/code/iibta/iibta-vue/src/store/index.ts new file mode 100644 index 00000000..b7ca35ef --- /dev/null +++ b/code/iibta/iibta-vue/src/store/index.ts @@ -0,0 +1,9 @@ +import type { App } from "vue"; +import { createPinia } from "pinia"; +import { createPersistedState } from "pinia-plugin-persistedstate"; // 数据持久化 + +export function setupPinia(app: App) { + const store = createPinia(); + store.use(createPersistedState()); + app.use(store); +} diff --git a/code/iibta/iibta-vue/src/store/router.ts b/code/iibta/iibta-vue/src/store/router.ts new file mode 100644 index 00000000..01479573 --- /dev/null +++ b/code/iibta/iibta-vue/src/store/router.ts @@ -0,0 +1,18 @@ +import { defineStore } from "pinia"; +import { useRoute } from "vue-router"; +import { useRouter } from "vue-router"; +export const useRouterStore = defineStore("router", () => { + const route = useRoute(); + const router = useRouter(); + + const getCurrentPath = () => { + return route.path; + }; + const toPath = (path: string) => { + router.push(path); + }; + return { + getCurrentPath, + toPath, + }; +}); diff --git a/code/iibta/iibta-vue/src/store/user.ts b/code/iibta/iibta-vue/src/store/user.ts new file mode 100644 index 00000000..4af23160 --- /dev/null +++ b/code/iibta/iibta-vue/src/store/user.ts @@ -0,0 +1,60 @@ +import { ref, computed } from "vue"; +import { defineStore } from "pinia"; + + +const initState = { + id: "", + account: "", + email: "", + name: "", + token: "", + avatar: "", +}; + +export const useUserStore = defineStore( + "user", + () => { + const userInfo = ref({ ...initState }); + + const setUserInfo = (val: IUserInfo) => { + userInfo.value = { ...userInfo.value, ...val }; + }; + + const clearUserInfo = () => { + reset(); + }; + // 一般没有reset需求,不需要的可以删除 + const reset = () => { + userInfo.value = { + id: "", + account: "", + email: "", + name: "", + token: "", + avatar: "", + }; + }; + // ✅ 如果需要同时验证多个字段 + const isLogined = computed(() => { + return !!( + ( + userInfo.value.token && // 用户令牌 + userInfo.value.id && // 用户ID + userInfo.value.account // 账户名 + ) + // userInfo.value.name // 名称 + ); + }); + + return { + userInfo, + setUserInfo, + clearUserInfo, + isLogined, + reset, + }; + }, + { + persist: true, + } +); diff --git a/code/iibta/iibta-vue/src/styles/css/color.css b/code/iibta/iibta-vue/src/styles/css/color.css new file mode 100644 index 00000000..fb2c77e8 --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/css/color.css @@ -0,0 +1,328 @@ +@charset "utf-8"; +/* style */ +.ys-panel, +.ys-panel-box { + padding: 0; +} +.ys-panel.active, +.ys-panel_hd { + padding: 10px; +} +.ys-panel-box.active { + margin: 0; +} +/* all */ +body { + color: #333; + background: #fff; +} +/* text */ +a, +h1, +h2, +h3, +h4, +h5, +h6, +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + color: #333; +} +a:hover { + color: cornflowerblue; +} +a.disabled { + cursor: not-allowed; + opacity: 0.6; +} +.text-333 { + color: #333; +} +.text-666 { + color: #666; +} +.text-muted { + color: #999; +} +.text-red { + color: red; +} +.text-link { + color: blue; +} +.text-fff { + color: #fff; +} +/* form */ +.form-control { + color: #999999; + background-color: #f5f5f5; + border: 1px solid #eee; +} +.form-control:focus { + border-color: #ff9900; + -webkit-box-shadow: + inset 0 1px 1px rgba(255, 136, 0, 0.075), + 0 0 8px rgba(255, 136, 0, 0.6); +} +/* btn */ +.btn-default { + color: #333; + background: linear-gradient(to right, #eeeeee 0, #f6f6f6 100%); + background-color: #eee; +} +.btn-warm { + background: linear-gradient(to right, #ff9900 0, #ff9f16 100%); + background-color: #ff9900; +} +.btn-primary { + background: linear-gradient(to right, #4fb1f7 0, #6bb8ee 100%); + background-color: #4fb1f7; +} +.btn-danger { + background: linear-gradient(to right, #fc000c 0, #f9444d 100%); + background-color: #fc000c; +} +.btn-info { + background: linear-gradient(to right, #5bc0de 0, #7cc1d6 100%); + background-color: #5bc0de; +} +.btn-gray { + color: #ddd; + background: linear-gradient(to right, #282828 0, #3b3b3b 100%); + background-color: #282828; +} +.btn-warm, +.btn-primary, +.btn-danger, +.btn-info { + color: #fff; +} +.btn-warm:hover, +.btn-primary:hover, +.btn-danger:hover, +.btn-info:hover, +.btn-gray:hover { + color: #fff; + box-shadow: 0 5px 8px rgba(0, 0, 0, 0.1); +} +.btn.disabled { + cursor: not-allowed; + opacity: 0.6; +} +/* border */ +.border { + border-color: #eee; +} +.border-primary { + border-color: #4fb1f7; +} +.border-danger { + border-color: red; +} +.border-info { + border-color: #5bc0de; +} +/* line */ +.spot { + border-color: #ff9900; +} +.split-line { + background-color: #eee; +} +.top-line:before, +.bottom-line:after, +.top-line-dot:before, +.bottom-line-dot:before { + border-color: #eee; +} +/* badge */ +.badge { + color: #333; + background-color: #eee; +} +.badge-first { + color: #fff; + background-color: #ff4a4a; +} +.badge-second { + color: #fff; + background-color: #ff7701; +} +.badge-third { + color: #fff; + background-color: #ffb400; +} +/* dropdown */ +.dropdown-box .item { + background-color: #fff; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} +/* pic-tag */ +.pic-tag .tag { + color: #fff; + background-color: rgba(0, 0, 0, 0.6); +} +.pic-tag .tag.active, +.pic-tag-h { + color: #fff; + background-color: #ff9900; +} +.pic-text, +.pic-title-bottom { + color: #fff; + background-image: linear-gradient(transparent, rgba(0, 0, 0, 0.5)); + background-repeat: no-repeat; +} +.pic-text.active { + color: #fff; + background: rgba(0, 0, 0, 0.6); +} +.pic-title-top { + color: #fff; + background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%); +} +/* link */ +.ys-link__pic li img { + display: block; + padding: 2px 6px; + background-color: #fff; + border-radius: 4px; +} +/* nav */ +.nav-tabs > li.active a { + color: #ff9900; + border-color: #ff9900; +} +.nav-tabs > li .dropdown-box .item li a { + color: #333; +} +.nav-tabs > li .dropdown-box .item li.active a { + color: #ff9900; +} +.nav-btn > li a { + background-color: #f5f5f5; +} +.nav-btn > li.active a { + color: #fff; + background-color: #ff9900; +} +/* header */ +.ys-header__top { + background-color: #fff; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} +.ys-header__menu > li > a { + color: #333; +} +.ys-header__menu > li.active > a { + color: #ff9900; +} +.ys-header__search .form-control { + background-color: #f5f5f5; +} +.ys-header__user > li > a, +.ys-header__user > li > a .fa { + color: #333; +} +/* panel */ +.ys-panel-bg { + background-color: #fff; +} +.ys-panel-bg2 { + background-color: #f5f5f5; +} +/* vodlist */ +.ys-vodlist__bg { + background-color: #f5f5f5; +} +.ys-vodlist__bg:hover { + box-shadow: 0 3px 5px rgba(0, 0, 0, 0.08); +} +/* text-list */ +.ys-vodlist__text.striped .striped-head, +.ys-vodlist__text.to-color li:nth-of-type(odd) { + background-color: #f5f5f5; +} +/* table */ +.ys-table > thead > tr > th, +.ys-table > tbody > tr > td, +.ys-table > tbody > tr > th, +.ys-table > tfoot > tr > td, +.ys-table > tfoot > tr > th, +.ys-table > thead > tr > td, +.ys-table > thead > tr > th { + border-color: #ddd; +} +/* player */ +.ys-player__video { + background-color: #000; +} +.ys-player__operate > li > a { + color: #999; +} +/* popup */ +.popup { + background-color: #f8f8f8; +} +.popup-head { + background-color: #fff; +} +/* content */ +.ys-content__detail .score .rating li .fa, +.ys-content__detail .score .branch { + color: #ff9900; +} +/* flickity */ +.flickity-page-dots .dot { + background-color: #ff9900; +} +/* carousel */ +.carousel-indicators-dots li { + background-color: #ff9900; +} +.carousel-indicators-text li.active .title { + color: #ff9900; +} +.carousel-indicators-thumb li.active { + border: 3px solid #ff9900; +} +/* extra */ +.ys-extra li a { + background-color: #fff; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); +} +.ys-extra li a.backtop { + color: #fff; + background-color: rgba(0, 0, 0, 0.6); +} +/* autocomplete */ +.autocomplete-suggestions { + background-color: #fff; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); +} +.autocomplete-suggestion, +.autocomplete-suggestions li, +.autocomplete-suggestion, +.autocomplete-suggestions li a { + color: #333; +} +.autocomplete-suggestions li strong { + color: red; +} +/* tabbar */ +.ys-nav__tabbar { + background-color: #f8f8f8; + border-color: #eee; +} +.ys-nav__tabbar .item .title { + color: #999; +} +/* footer */ +.ys-foot { + background-color: #f8f8f8; +} diff --git a/code/iibta/iibta-vue/src/styles/css/font.css b/code/iibta/iibta-vue/src/styles/css/font.css new file mode 100644 index 00000000..1045a2da --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/css/font.css @@ -0,0 +1,3045 @@ +@font-face { + font-family: "FontAwesome"; + font-style: normal; + font-weight: normal; + src: url("../fonts/fontawesome-webfont.eot?v=4.7.0"); + src: + url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), + url("../fonts/fontawesome-webfont.woff2?v=4.7.0") format("woff2"), + url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), + url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), + url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg"); +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-fw { + width: 1.28571429em; + text-align: center; +} + +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} + +.fa-ul > li { + position: relative; +} + +.fa-li { + position: absolute; + top: 0.14285714em; + left: -2.14285714em; + width: 2.14285714em; + text-align: center; +} + +.fa-li.fa-lg { + left: -1.85714286em; +} + +.fa-border { + padding: 0.2em 0.25em 0.15em; + border: solid 0.08em #eee; + border-radius: 0.1em; +} + +.fa-pull-left { + float: left; +} + +.fa-pull-right { + float: right; +} + +.fa.fa-pull-left { + margin-right: 0.3em; +} + +.fa.fa-pull-right { + margin-left: 0.3em; +} + +.pull-right { + float: right; +} + +.pull-left { + float: left; +} + +.fa.pull-left { + margin-right: 0.3em; +} + +.fa.pull-right { + margin-left: 0.3em; +} + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} + +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} + +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} + +.fa-stack-1x { + line-height: inherit; +} + +.fa-stack-2x { + font-size: 2em; +} + +.fa-inverse { + color: #fff; +} + +.fa-glass:before { + content: "\f000"; +} + +.fa-music:before { + content: "\f001"; +} + +.fa-search:before { + content: "\f002"; +} + +.fa-envelope-o:before { + content: "\f003"; +} + +.fa-heart:before { + content: "\f004"; +} + +.fa-star:before { + content: "\f005"; +} + +.fa-star-o:before { + content: "\f006"; +} + +.fa-user:before { + content: "\f007"; +} + +.fa-film:before { + content: "\f008"; +} + +.fa-th-large:before { + content: "\f009"; +} + +.fa-th:before { + content: "\f00a"; +} + +.fa-th-list:before { + content: "\f00b"; +} + +.fa-check:before { + content: "\f00c"; +} + +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} + +.fa-search-plus:before { + content: "\f00e"; +} + +.fa-search-minus:before { + content: "\f010"; +} + +.fa-power-off:before { + content: "\f011"; +} + +.fa-signal:before { + content: "\f012"; +} + +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} + +.fa-trash-o:before { + content: "\f014"; +} + +.fa-home:before { + content: "\f015"; +} + +.fa-file-o:before { + content: "\f016"; +} + +.fa-clock-o:before { + content: "\f017"; +} + +.fa-road:before { + content: "\f018"; +} + +.fa-download:before { + content: "\f019"; +} + +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} + +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} + +.fa-inbox:before { + content: "\f01c"; +} + +.fa-play-circle-o:before { + content: "\f01d"; +} + +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} + +.fa-refresh:before { + content: "\f021"; +} + +.fa-list-alt:before { + content: "\f022"; +} + +.fa-lock:before { + content: "\f023"; +} + +.fa-flag:before { + content: "\f024"; +} + +.fa-headphones:before { + content: "\f025"; +} + +.fa-volume-off:before { + content: "\f026"; +} + +.fa-volume-down:before { + content: "\f027"; +} + +.fa-volume-up:before { + content: "\f028"; +} + +.fa-qrcode:before { + content: "\f029"; +} + +.fa-barcode:before { + content: "\f02a"; +} + +.fa-tag:before { + content: "\f02b"; +} + +.fa-tags:before { + content: "\f02c"; +} + +.fa-book:before { + content: "\f02d"; +} + +.fa-bookmark:before { + content: "\f02e"; +} + +.fa-print:before { + content: "\f02f"; +} + +.fa-camera:before { + content: "\f030"; +} + +.fa-font:before { + content: "\f031"; +} + +.fa-bold:before { + content: "\f032"; +} + +.fa-italic:before { + content: "\f033"; +} + +.fa-text-height:before { + content: "\f034"; +} + +.fa-text-width:before { + content: "\f035"; +} + +.fa-align-left:before { + content: "\f036"; +} + +.fa-align-center:before { + content: "\f037"; +} + +.fa-align-right:before { + content: "\f038"; +} + +.fa-align-justify:before { + content: "\f039"; +} + +.fa-list:before { + content: "\f03a"; +} + +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} + +.fa-indent:before { + content: "\f03c"; +} + +.fa-video-camera:before { + content: "\f03d"; +} + +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} + +.fa-pencil:before { + content: "\f040"; +} + +.fa-map-marker:before { + content: "\f041"; +} + +.fa-adjust:before { + content: "\f042"; +} + +.fa-tint:before { + content: "\f043"; +} + +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} + +.fa-share-square-o:before { + content: "\f045"; +} + +.fa-check-square-o:before { + content: "\f046"; +} + +.fa-arrows:before { + content: "\f047"; +} + +.fa-step-backward:before { + content: "\f048"; +} + +.fa-fast-backward:before { + content: "\f049"; +} + +.fa-backward:before { + content: "\f04a"; +} + +.fa-play:before { + content: "\f04b"; +} + +.fa-pause:before { + content: "\f04c"; +} + +.fa-stop:before { + content: "\f04d"; +} + +.fa-forward:before { + content: "\f04e"; +} + +.fa-fast-forward:before { + content: "\f050"; +} + +.fa-step-forward:before { + content: "\f051"; +} + +.fa-eject:before { + content: "\f052"; +} + +.fa-chevron-left:before { + content: "\f053"; +} + +.fa-chevron-right:before { + content: "\f054"; +} + +.fa-plus-circle:before { + content: "\f055"; +} + +.fa-minus-circle:before { + content: "\f056"; +} + +.fa-times-circle:before { + content: "\f057"; +} + +.fa-check-circle:before { + content: "\f058"; +} + +.fa-question-circle:before { + content: "\f059"; +} + +.fa-info-circle:before { + content: "\f05a"; +} + +.fa-crosshairs:before { + content: "\f05b"; +} + +.fa-times-circle-o:before { + content: "\f05c"; +} + +.fa-check-circle-o:before { + content: "\f05d"; +} + +.fa-ban:before { + content: "\f05e"; +} + +.fa-arrow-left:before { + content: "\f060"; +} + +.fa-arrow-right:before { + content: "\f061"; +} + +.fa-arrow-up:before { + content: "\f062"; +} + +.fa-arrow-down:before { + content: "\f063"; +} + +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} + +.fa-expand:before { + content: "\f065"; +} + +.fa-compress:before { + content: "\f066"; +} + +.fa-plus:before { + content: "\f067"; +} + +.fa-minus:before { + content: "\f068"; +} + +.fa-asterisk:before { + content: "\f069"; +} + +.fa-exclamation-circle:before { + content: "\f06a"; +} + +.fa-gift:before { + content: "\f06b"; +} + +.fa-leaf:before { + content: "\f06c"; +} + +.fa-fire:before { + content: "\f06d"; +} + +.fa-eye:before { + content: "\f06e"; +} + +.fa-eye-slash:before { + content: "\f070"; +} + +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} + +.fa-plane:before { + content: "\f072"; +} + +.fa-calendar:before { + content: "\f073"; +} + +.fa-random:before { + content: "\f074"; +} + +.fa-comment:before { + content: "\f075"; +} + +.fa-magnet:before { + content: "\f076"; +} + +.fa-chevron-up:before { + content: "\f077"; +} + +.fa-chevron-down:before { + content: "\f078"; +} + +.fa-retweet:before { + content: "\f079"; +} + +.fa-shopping-cart:before { + content: "\f07a"; +} + +.fa-folder:before { + content: "\f07b"; +} + +.fa-folder-open:before { + content: "\f07c"; +} + +.fa-arrows-v:before { + content: "\f07d"; +} + +.fa-arrows-h:before { + content: "\f07e"; +} + +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} + +.fa-twitter-square:before { + content: "\f081"; +} + +.fa-facebook-square:before { + content: "\f082"; +} + +.fa-camera-retro:before { + content: "\f083"; +} + +.fa-key:before { + content: "\f084"; +} + +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} + +.fa-comments:before { + content: "\f086"; +} + +.fa-thumbs-o-up:before { + content: "\f087"; +} + +.fa-thumbs-o-down:before { + content: "\f088"; +} + +.fa-star-half:before { + content: "\f089"; +} + +.fa-heart-o:before { + content: "\f08a"; +} + +.fa-sign-out:before { + content: "\f08b"; +} + +.fa-linkedin-square:before { + content: "\f08c"; +} + +.fa-thumb-tack:before { + content: "\f08d"; +} + +.fa-external-link:before { + content: "\f08e"; +} + +.fa-sign-in:before { + content: "\f090"; +} + +.fa-trophy:before { + content: "\f091"; +} + +.fa-github-square:before { + content: "\f092"; +} + +.fa-upload:before { + content: "\f093"; +} + +.fa-lemon-o:before { + content: "\f094"; +} + +.fa-phone:before { + content: "\f095"; +} + +.fa-square-o:before { + content: "\f096"; +} + +.fa-bookmark-o:before { + content: "\f097"; +} + +.fa-phone-square:before { + content: "\f098"; +} + +.fa-twitter:before { + content: "\f099"; +} + +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} + +.fa-github:before { + content: "\f09b"; +} + +.fa-unlock:before { + content: "\f09c"; +} + +.fa-credit-card:before { + content: "\f09d"; +} + +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} + +.fa-hdd-o:before { + content: "\f0a0"; +} + +.fa-bullhorn:before { + content: "\f0a1"; +} + +.fa-bell:before { + content: "\f0f3"; +} + +.fa-certificate:before { + content: "\f0a3"; +} + +.fa-hand-o-right:before { + content: "\f0a4"; +} + +.fa-hand-o-left:before { + content: "\f0a5"; +} + +.fa-hand-o-up:before { + content: "\f0a6"; +} + +.fa-hand-o-down:before { + content: "\f0a7"; +} + +.fa-arrow-circle-left:before { + content: "\f0a8"; +} + +.fa-arrow-circle-right:before { + content: "\f0a9"; +} + +.fa-arrow-circle-up:before { + content: "\f0aa"; +} + +.fa-arrow-circle-down:before { + content: "\f0ab"; +} + +.fa-globe:before { + content: "\f0ac"; +} + +.fa-wrench:before { + content: "\f0ad"; +} + +.fa-tasks:before { + content: "\f0ae"; +} + +.fa-filter:before { + content: "\f0b0"; +} + +.fa-briefcase:before { + content: "\f0b1"; +} + +.fa-arrows-alt:before { + content: "\f0b2"; +} + +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} + +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} + +.fa-cloud:before { + content: "\f0c2"; +} + +.fa-flask:before { + content: "\f0c3"; +} + +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} + +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} + +.fa-paperclip:before { + content: "\f0c6"; +} + +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} + +.fa-square:before { + content: "\f0c8"; +} + +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} + +.fa-list-ul:before { + content: "\f0ca"; +} + +.fa-list-ol:before { + content: "\f0cb"; +} + +.fa-strikethrough:before { + content: "\f0cc"; +} + +.fa-underline:before { + content: "\f0cd"; +} + +.fa-table:before { + content: "\f0ce"; +} + +.fa-magic:before { + content: "\f0d0"; +} + +.fa-truck:before { + content: "\f0d1"; +} + +.fa-pinterest:before { + content: "\f0d2"; +} + +.fa-pinterest-square:before { + content: "\f0d3"; +} + +.fa-google-plus-square:before { + content: "\f0d4"; +} + +.fa-google-plus:before { + content: "\f0d5"; +} + +.fa-money:before { + content: "\f0d6"; +} + +.fa-caret-down:before { + content: "\f0d7"; +} + +.fa-caret-up:before { + content: "\f0d8"; +} + +.fa-caret-left:before { + content: "\f0d9"; +} + +.fa-caret-right:before { + content: "\f0da"; +} + +.fa-columns:before { + content: "\f0db"; +} + +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} + +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} + +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} + +.fa-envelope:before { + content: "\f0e0"; +} + +.fa-linkedin:before { + content: "\f0e1"; +} + +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} + +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} + +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} + +.fa-comment-o:before { + content: "\f0e5"; +} + +.fa-comments-o:before { + content: "\f0e6"; +} + +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} + +.fa-sitemap:before { + content: "\f0e8"; +} + +.fa-umbrella:before { + content: "\f0e9"; +} + +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} + +.fa-lightbulb-o:before { + content: "\f0eb"; +} + +.fa-exchange:before { + content: "\f0ec"; +} + +.fa-cloud-download:before { + content: "\f0ed"; +} + +.fa-cloud-upload:before { + content: "\f0ee"; +} + +.fa-user-md:before { + content: "\f0f0"; +} + +.fa-stethoscope:before { + content: "\f0f1"; +} + +.fa-suitcase:before { + content: "\f0f2"; +} + +.fa-bell-o:before { + content: "\f0a2"; +} + +.fa-coffee:before { + content: "\f0f4"; +} + +.fa-cutlery:before { + content: "\f0f5"; +} + +.fa-file-text-o:before { + content: "\f0f6"; +} + +.fa-building-o:before { + content: "\f0f7"; +} + +.fa-hospital-o:before { + content: "\f0f8"; +} + +.fa-ambulance:before { + content: "\f0f9"; +} + +.fa-medkit:before { + content: "\f0fa"; +} + +.fa-fighter-jet:before { + content: "\f0fb"; +} + +.fa-beer:before { + content: "\f0fc"; +} + +.fa-h-square:before { + content: "\f0fd"; +} + +.fa-plus-square:before { + content: "\f0fe"; +} + +.fa-angle-double-left:before { + content: "\f100"; +} + +.fa-angle-double-right:before { + content: "\f101"; +} + +.fa-angle-double-up:before { + content: "\f102"; +} + +.fa-angle-double-down:before { + content: "\f103"; +} + +.fa-angle-left:before { + content: "\f104"; +} + +.fa-angle-right:before { + content: "\f105"; +} + +.fa-angle-up:before { + content: "\f106"; +} + +.fa-angle-down:before { + content: "\f107"; +} + +.fa-desktop:before { + content: "\f108"; +} + +.fa-laptop:before { + content: "\f109"; +} + +.fa-tablet:before { + content: "\f10a"; +} + +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} + +.fa-circle-o:before { + content: "\f10c"; +} + +.fa-quote-left:before { + content: "\f10d"; +} + +.fa-quote-right:before { + content: "\f10e"; +} + +.fa-spinner:before { + content: "\f110"; +} + +.fa-circle:before { + content: "\f111"; +} + +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} + +.fa-github-alt:before { + content: "\f113"; +} + +.fa-folder-o:before { + content: "\f114"; +} + +.fa-folder-open-o:before { + content: "\f115"; +} + +.fa-smile-o:before { + content: "\f118"; +} + +.fa-frown-o:before { + content: "\f119"; +} + +.fa-meh-o:before { + content: "\f11a"; +} + +.fa-gamepad:before { + content: "\f11b"; +} + +.fa-keyboard-o:before { + content: "\f11c"; +} + +.fa-flag-o:before { + content: "\f11d"; +} + +.fa-flag-checkered:before { + content: "\f11e"; +} + +.fa-terminal:before { + content: "\f120"; +} + +.fa-code:before { + content: "\f121"; +} + +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} + +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} + +.fa-location-arrow:before { + content: "\f124"; +} + +.fa-crop:before { + content: "\f125"; +} + +.fa-code-fork:before { + content: "\f126"; +} + +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} + +.fa-question:before { + content: "\f128"; +} + +.fa-info:before { + content: "\f129"; +} + +.fa-exclamation:before { + content: "\f12a"; +} + +.fa-superscript:before { + content: "\f12b"; +} + +.fa-subscript:before { + content: "\f12c"; +} + +.fa-eraser:before { + content: "\f12d"; +} + +.fa-puzzle-piece:before { + content: "\f12e"; +} + +.fa-microphone:before { + content: "\f130"; +} + +.fa-microphone-slash:before { + content: "\f131"; +} + +.fa-shield:before { + content: "\f132"; +} + +.fa-calendar-o:before { + content: "\f133"; +} + +.fa-fire-extinguisher:before { + content: "\f134"; +} + +.fa-rocket:before { + content: "\f135"; +} + +.fa-maxcdn:before { + content: "\f136"; +} + +.fa-chevron-circle-left:before { + content: "\f137"; +} + +.fa-chevron-circle-right:before { + content: "\f138"; +} + +.fa-chevron-circle-up:before { + content: "\f139"; +} + +.fa-chevron-circle-down:before { + content: "\f13a"; +} + +.fa-html5:before { + content: "\f13b"; +} + +.fa-css3:before { + content: "\f13c"; +} + +.fa-anchor:before { + content: "\f13d"; +} + +.fa-unlock-alt:before { + content: "\f13e"; +} + +.fa-bullseye:before { + content: "\f140"; +} + +.fa-ellipsis-h:before { + content: "\f141"; +} + +.fa-ellipsis-v:before { + content: "\f142"; +} + +.fa-rss-square:before { + content: "\f143"; +} + +.fa-play-circle:before { + content: "\f144"; +} + +.fa-ticket:before { + content: "\f145"; +} + +.fa-minus-square:before { + content: "\f146"; +} + +.fa-minus-square-o:before { + content: "\f147"; +} + +.fa-level-up:before { + content: "\f148"; +} + +.fa-level-down:before { + content: "\f149"; +} + +.fa-check-square:before { + content: "\f14a"; +} + +.fa-pencil-square:before { + content: "\f14b"; +} + +.fa-external-link-square:before { + content: "\f14c"; +} + +.fa-share-square:before { + content: "\f14d"; +} + +.fa-compass:before { + content: "\f14e"; +} + +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} + +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} + +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} + +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} + +.fa-gbp:before { + content: "\f154"; +} + +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} + +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} + +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} + +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} + +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} + +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} + +.fa-file:before { + content: "\f15b"; +} + +.fa-file-text:before { + content: "\f15c"; +} + +.fa-sort-alpha-asc:before { + content: "\f15d"; +} + +.fa-sort-alpha-desc:before { + content: "\f15e"; +} + +.fa-sort-amount-asc:before { + content: "\f160"; +} + +.fa-sort-amount-desc:before { + content: "\f161"; +} + +.fa-sort-numeric-asc:before { + content: "\f162"; +} + +.fa-sort-numeric-desc:before { + content: "\f163"; +} + +.fa-thumbs-up:before { + content: "\f164"; +} + +.fa-thumbs-down:before { + content: "\f165"; +} + +.fa-youtube-square:before { + content: "\f166"; +} + +.fa-youtube:before { + content: "\f167"; +} + +.fa-xing:before { + content: "\f168"; +} + +.fa-xing-square:before { + content: "\f169"; +} + +.fa-youtube-play:before { + content: "\f16a"; +} + +.fa-dropbox:before { + content: "\f16b"; +} + +.fa-stack-overflow:before { + content: "\f16c"; +} + +.fa-instagram:before { + content: "\f16d"; +} + +.fa-flickr:before { + content: "\f16e"; +} + +.fa-adn:before { + content: "\f170"; +} + +.fa-bitbucket:before { + content: "\f171"; +} + +.fa-bitbucket-square:before { + content: "\f172"; +} + +.fa-tumblr:before { + content: "\f173"; +} + +.fa-tumblr-square:before { + content: "\f174"; +} + +.fa-long-arrow-down:before { + content: "\f175"; +} + +.fa-long-arrow-up:before { + content: "\f176"; +} + +.fa-long-arrow-left:before { + content: "\f177"; +} + +.fa-long-arrow-right:before { + content: "\f178"; +} + +.fa-apple:before { + content: "\f179"; +} + +.fa-windows:before { + content: "\f17a"; +} + +.fa-android:before { + content: "\f17b"; +} + +.fa-linux:before { + content: "\f17c"; +} + +.fa-dribbble:before { + content: "\f17d"; +} + +.fa-skype:before { + content: "\f17e"; +} + +.fa-foursquare:before { + content: "\f180"; +} + +.fa-trello:before { + content: "\f181"; +} + +.fa-female:before { + content: "\f182"; +} + +.fa-male:before { + content: "\f183"; +} + +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} + +.fa-sun-o:before { + content: "\f185"; +} + +.fa-moon-o:before { + content: "\f186"; +} + +.fa-archive:before { + content: "\f187"; +} + +.fa-bug:before { + content: "\f188"; +} + +.fa-vk:before { + content: "\f189"; +} + +.fa-weibo:before { + content: "\f18a"; +} + +.fa-renren:before { + content: "\f18b"; +} + +.fa-pagelines:before { + content: "\f18c"; +} + +.fa-stack-exchange:before { + content: "\f18d"; +} + +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} + +.fa-arrow-circle-o-left:before { + content: "\f190"; +} + +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} + +.fa-dot-circle-o:before { + content: "\f192"; +} + +.fa-wheelchair:before { + content: "\f193"; +} + +.fa-vimeo-square:before { + content: "\f194"; +} + +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} + +.fa-plus-square-o:before { + content: "\f196"; +} + +.fa-space-shuttle:before { + content: "\f197"; +} + +.fa-slack:before { + content: "\f198"; +} + +.fa-envelope-square:before { + content: "\f199"; +} + +.fa-wordpress:before { + content: "\f19a"; +} + +.fa-openid:before { + content: "\f19b"; +} + +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} + +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} + +.fa-yahoo:before { + content: "\f19e"; +} + +.fa-google:before { + content: "\f1a0"; +} + +.fa-reddit:before { + content: "\f1a1"; +} + +.fa-reddit-square:before { + content: "\f1a2"; +} + +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} + +.fa-stumbleupon:before { + content: "\f1a4"; +} + +.fa-delicious:before { + content: "\f1a5"; +} + +.fa-digg:before { + content: "\f1a6"; +} + +.fa-pied-piper-pp:before { + content: "\f1a7"; +} + +.fa-pied-piper-alt:before { + content: "\f1a8"; +} + +.fa-drupal:before { + content: "\f1a9"; +} + +.fa-joomla:before { + content: "\f1aa"; +} + +.fa-language:before { + content: "\f1ab"; +} + +.fa-fax:before { + content: "\f1ac"; +} + +.fa-building:before { + content: "\f1ad"; +} + +.fa-child:before { + content: "\f1ae"; +} + +.fa-paw:before { + content: "\f1b0"; +} + +.fa-spoon:before { + content: "\f1b1"; +} + +.fa-cube:before { + content: "\f1b2"; +} + +.fa-cubes:before { + content: "\f1b3"; +} + +.fa-behance:before { + content: "\f1b4"; +} + +.fa-behance-square:before { + content: "\f1b5"; +} + +.fa-steam:before { + content: "\f1b6"; +} + +.fa-steam-square:before { + content: "\f1b7"; +} + +.fa-recycle:before { + content: "\f1b8"; +} + +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} + +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} + +.fa-tree:before { + content: "\f1bb"; +} + +.fa-spotify:before { + content: "\f1bc"; +} + +.fa-deviantart:before { + content: "\f1bd"; +} + +.fa-soundcloud:before { + content: "\f1be"; +} + +.fa-database:before { + content: "\f1c0"; +} + +.fa-file-pdf-o:before { + content: "\f1c1"; +} + +.fa-file-word-o:before { + content: "\f1c2"; +} + +.fa-file-excel-o:before { + content: "\f1c3"; +} + +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} + +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} + +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} + +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} + +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} + +.fa-file-code-o:before { + content: "\f1c9"; +} + +.fa-vine:before { + content: "\f1ca"; +} + +.fa-codepen:before { + content: "\f1cb"; +} + +.fa-jsfiddle:before { + content: "\f1cc"; +} + +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} + +.fa-circle-o-notch:before { + content: "\f1ce"; +} + +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} + +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} + +.fa-git-square:before { + content: "\f1d2"; +} + +.fa-git:before { + content: "\f1d3"; +} + +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} + +.fa-tencent-weibo:before { + content: "\f1d5"; +} + +.fa-qq:before { + content: "\f1d6"; +} + +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} + +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} + +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} + +.fa-history:before { + content: "\f1da"; +} + +.fa-circle-thin:before { + content: "\f1db"; +} + +.fa-header:before { + content: "\f1dc"; +} + +.fa-paragraph:before { + content: "\f1dd"; +} + +.fa-sliders:before { + content: "\f1de"; +} + +.fa-share-alt:before { + content: "\f1e0"; +} + +.fa-share-alt-square:before { + content: "\f1e1"; +} + +.fa-bomb:before { + content: "\f1e2"; +} + +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} + +.fa-tty:before { + content: "\f1e4"; +} + +.fa-binoculars:before { + content: "\f1e5"; +} + +.fa-plug:before { + content: "\f1e6"; +} + +.fa-slideshare:before { + content: "\f1e7"; +} + +.fa-twitch:before { + content: "\f1e8"; +} + +.fa-yelp:before { + content: "\f1e9"; +} + +.fa-newspaper-o:before { + content: "\f1ea"; +} + +.fa-wifi:before { + content: "\f1eb"; +} + +.fa-calculator:before { + content: "\f1ec"; +} + +.fa-paypal:before { + content: "\f1ed"; +} + +.fa-google-wallet:before { + content: "\f1ee"; +} + +.fa-cc-visa:before { + content: "\f1f0"; +} + +.fa-cc-mastercard:before { + content: "\f1f1"; +} + +.fa-cc-discover:before { + content: "\f1f2"; +} + +.fa-cc-amex:before { + content: "\f1f3"; +} + +.fa-cc-paypal:before { + content: "\f1f4"; +} + +.fa-cc-stripe:before { + content: "\f1f5"; +} + +.fa-bell-slash:before { + content: "\f1f6"; +} + +.fa-bell-slash-o:before { + content: "\f1f7"; +} + +.fa-trash:before { + content: "\f1f8"; +} + +.fa-copyright:before { + content: "\f1f9"; +} + +.fa-at:before { + content: "\f1fa"; +} + +.fa-eyedropper:before { + content: "\f1fb"; +} + +.fa-paint-brush:before { + content: "\f1fc"; +} + +.fa-birthday-cake:before { + content: "\f1fd"; +} + +.fa-area-chart:before { + content: "\f1fe"; +} + +.fa-pie-chart:before { + content: "\f200"; +} + +.fa-line-chart:before { + content: "\f201"; +} + +.fa-lastfm:before { + content: "\f202"; +} + +.fa-lastfm-square:before { + content: "\f203"; +} + +.fa-toggle-off:before { + content: "\f204"; +} + +.fa-toggle-on:before { + content: "\f205"; +} + +.fa-bicycle:before { + content: "\f206"; +} + +.fa-bus:before { + content: "\f207"; +} + +.fa-ioxhost:before { + content: "\f208"; +} + +.fa-angellist:before { + content: "\f209"; +} + +.fa-cc:before { + content: "\f20a"; +} + +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} + +.fa-meanpath:before { + content: "\f20c"; +} + +.fa-buysellads:before { + content: "\f20d"; +} + +.fa-connectdevelop:before { + content: "\f20e"; +} + +.fa-dashcube:before { + content: "\f210"; +} + +.fa-forumbee:before { + content: "\f211"; +} + +.fa-leanpub:before { + content: "\f212"; +} + +.fa-sellsy:before { + content: "\f213"; +} + +.fa-shirtsinbulk:before { + content: "\f214"; +} + +.fa-simplybuilt:before { + content: "\f215"; +} + +.fa-skyatlas:before { + content: "\f216"; +} + +.fa-cart-plus:before { + content: "\f217"; +} + +.fa-cart-arrow-down:before { + content: "\f218"; +} + +.fa-diamond:before { + content: "\f219"; +} + +.fa-ship:before { + content: "\f21a"; +} + +.fa-user-secret:before { + content: "\f21b"; +} + +.fa-motorcycle:before { + content: "\f21c"; +} + +.fa-street-view:before { + content: "\f21d"; +} + +.fa-heartbeat:before { + content: "\f21e"; +} + +.fa-venus:before { + content: "\f221"; +} + +.fa-mars:before { + content: "\f222"; +} + +.fa-mercury:before { + content: "\f223"; +} + +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} + +.fa-transgender-alt:before { + content: "\f225"; +} + +.fa-venus-double:before { + content: "\f226"; +} + +.fa-mars-double:before { + content: "\f227"; +} + +.fa-venus-mars:before { + content: "\f228"; +} + +.fa-mars-stroke:before { + content: "\f229"; +} + +.fa-mars-stroke-v:before { + content: "\f22a"; +} + +.fa-mars-stroke-h:before { + content: "\f22b"; +} + +.fa-neuter:before { + content: "\f22c"; +} + +.fa-genderless:before { + content: "\f22d"; +} + +.fa-facebook-official:before { + content: "\f230"; +} + +.fa-pinterest-p:before { + content: "\f231"; +} + +.fa-whatsapp:before { + content: "\f232"; +} + +.fa-server:before { + content: "\f233"; +} + +.fa-user-plus:before { + content: "\f234"; +} + +.fa-user-times:before { + content: "\f235"; +} + +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} + +.fa-viacoin:before { + content: "\f237"; +} + +.fa-train:before { + content: "\f238"; +} + +.fa-subway:before { + content: "\f239"; +} + +.fa-medium:before { + content: "\f23a"; +} + +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} + +.fa-optin-monster:before { + content: "\f23c"; +} + +.fa-opencart:before { + content: "\f23d"; +} + +.fa-expeditedssl:before { + content: "\f23e"; +} + +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} + +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} + +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} + +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} + +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} + +.fa-mouse-pointer:before { + content: "\f245"; +} + +.fa-i-cursor:before { + content: "\f246"; +} + +.fa-object-group:before { + content: "\f247"; +} + +.fa-object-ungroup:before { + content: "\f248"; +} + +.fa-sticky-note:before { + content: "\f249"; +} + +.fa-sticky-note-o:before { + content: "\f24a"; +} + +.fa-cc-jcb:before { + content: "\f24b"; +} + +.fa-cc-diners-club:before { + content: "\f24c"; +} + +.fa-clone:before { + content: "\f24d"; +} + +.fa-balance-scale:before { + content: "\f24e"; +} + +.fa-hourglass-o:before { + content: "\f250"; +} + +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} + +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} + +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} + +.fa-hourglass:before { + content: "\f254"; +} + +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} + +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} + +.fa-hand-scissors-o:before { + content: "\f257"; +} + +.fa-hand-lizard-o:before { + content: "\f258"; +} + +.fa-hand-spock-o:before { + content: "\f259"; +} + +.fa-hand-pointer-o:before { + content: "\f25a"; +} + +.fa-hand-peace-o:before { + content: "\f25b"; +} + +.fa-trademark:before { + content: "\f25c"; +} + +.fa-registered:before { + content: "\f25d"; +} + +.fa-creative-commons:before { + content: "\f25e"; +} + +.fa-gg:before { + content: "\f260"; +} + +.fa-gg-circle:before { + content: "\f261"; +} + +.fa-tripadvisor:before { + content: "\f262"; +} + +.fa-odnoklassniki:before { + content: "\f263"; +} + +.fa-odnoklassniki-square:before { + content: "\f264"; +} + +.fa-get-pocket:before { + content: "\f265"; +} + +.fa-wikipedia-w:before { + content: "\f266"; +} + +.fa-safari:before { + content: "\f267"; +} + +.fa-chrome:before { + content: "\f268"; +} + +.fa-firefox:before { + content: "\f269"; +} + +.fa-opera:before { + content: "\f26a"; +} + +.fa-internet-explorer:before { + content: "\f26b"; +} + +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} + +.fa-contao:before { + content: "\f26d"; +} + +.fa-500px:before { + content: "\f26e"; +} + +.fa-amazon:before { + content: "\f270"; +} + +.fa-calendar-plus-o:before { + content: "\f271"; +} + +.fa-calendar-minus-o:before { + content: "\f272"; +} + +.fa-calendar-times-o:before { + content: "\f273"; +} + +.fa-calendar-check-o:before { + content: "\f274"; +} + +.fa-industry:before { + content: "\f275"; +} + +.fa-map-pin:before { + content: "\f276"; +} + +.fa-map-signs:before { + content: "\f277"; +} + +.fa-map-o:before { + content: "\f278"; +} + +.fa-map:before { + content: "\f279"; +} + +.fa-commenting:before { + content: "\f27a"; +} + +.fa-commenting-o:before { + content: "\f27b"; +} + +.fa-houzz:before { + content: "\f27c"; +} + +.fa-vimeo:before { + content: "\f27d"; +} + +.fa-black-tie:before { + content: "\f27e"; +} + +.fa-fonticons:before { + content: "\f280"; +} + +.fa-reddit-alien:before { + content: "\f281"; +} + +.fa-edge:before { + content: "\f282"; +} + +.fa-credit-card-alt:before { + content: "\f283"; +} + +.fa-codiepie:before { + content: "\f284"; +} + +.fa-modx:before { + content: "\f285"; +} + +.fa-fort-awesome:before { + content: "\f286"; +} + +.fa-usb:before { + content: "\f287"; +} + +.fa-product-hunt:before { + content: "\f288"; +} + +.fa-mixcloud:before { + content: "\f289"; +} + +.fa-scribd:before { + content: "\f28a"; +} + +.fa-pause-circle:before { + content: "\f28b"; +} + +.fa-pause-circle-o:before { + content: "\f28c"; +} + +.fa-stop-circle:before { + content: "\f28d"; +} + +.fa-stop-circle-o:before { + content: "\f28e"; +} + +.fa-shopping-bag:before { + content: "\f290"; +} + +.fa-shopping-basket:before { + content: "\f291"; +} + +.fa-hashtag:before { + content: "\f292"; +} + +.fa-bluetooth:before { + content: "\f293"; +} + +.fa-bluetooth-b:before { + content: "\f294"; +} + +.fa-percent:before { + content: "\f295"; +} + +.fa-gitlab:before { + content: "\f296"; +} + +.fa-wpbeginner:before { + content: "\f297"; +} + +.fa-wpforms:before { + content: "\f298"; +} + +.fa-envira:before { + content: "\f299"; +} + +.fa-universal-access:before { + content: "\f29a"; +} + +.fa-wheelchair-alt:before { + content: "\f29b"; +} + +.fa-question-circle-o:before { + content: "\f29c"; +} + +.fa-blind:before { + content: "\f29d"; +} + +.fa-audio-description:before { + content: "\f29e"; +} + +.fa-volume-control-phone:before { + content: "\f2a0"; +} + +.fa-braille:before { + content: "\f2a1"; +} + +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} + +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} + +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} + +.fa-glide:before { + content: "\f2a5"; +} + +.fa-glide-g:before { + content: "\f2a6"; +} + +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} + +.fa-low-vision:before { + content: "\f2a8"; +} + +.fa-viadeo:before { + content: "\f2a9"; +} + +.fa-viadeo-square:before { + content: "\f2aa"; +} + +.fa-snapchat:before { + content: "\f2ab"; +} + +.fa-snapchat-ghost:before { + content: "\f2ac"; +} + +.fa-snapchat-square:before { + content: "\f2ad"; +} + +.fa-pied-piper:before { + content: "\f2ae"; +} + +.fa-first-order:before { + content: "\f2b0"; +} + +.fa-yoast:before { + content: "\f2b1"; +} + +.fa-themeisle:before { + content: "\f2b2"; +} + +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} + +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} + +.fa-handshake-o:before { + content: "\f2b5"; +} + +.fa-envelope-open:before { + content: "\f2b6"; +} + +.fa-envelope-open-o:before { + content: "\f2b7"; +} + +.fa-linode:before { + content: "\f2b8"; +} + +.fa-address-book:before { + content: "\f2b9"; +} + +.fa-address-book-o:before { + content: "\f2ba"; +} + +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} + +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} + +.fa-user-circle:before { + content: "\f2bd"; +} + +.fa-user-circle-o:before { + content: "\f2be"; +} + +.fa-user-o:before { + content: "\f2c0"; +} + +.fa-id-badge:before { + content: "\f2c1"; +} + +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} + +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} + +.fa-quora:before { + content: "\f2c4"; +} + +.fa-free-code-camp:before { + content: "\f2c5"; +} + +.fa-telegram:before { + content: "\f2c6"; +} + +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} + +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} + +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} + +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} + +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} + +.fa-shower:before { + content: "\f2cc"; +} + +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} + +.fa-podcast:before { + content: "\f2ce"; +} + +.fa-window-maximize:before { + content: "\f2d0"; +} + +.fa-window-minimize:before { + content: "\f2d1"; +} + +.fa-window-restore:before { + content: "\f2d2"; +} + +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} + +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} + +.fa-bandcamp:before { + content: "\f2d5"; +} + +.fa-grav:before { + content: "\f2d6"; +} + +.fa-etsy:before { + content: "\f2d7"; +} + +.fa-imdb:before { + content: "\f2d8"; +} + +.fa-ravelry:before { + content: "\f2d9"; +} + +.fa-eercast:before { + content: "\f2da"; +} + +.fa-microchip:before { + content: "\f2db"; +} + +.fa-snowflake-o:before { + content: "\f2dc"; +} + +.fa-superpowers:before { + content: "\f2dd"; +} + +.fa-wpexplorer:before { + content: "\f2de"; +} + +.fa-meetup:before { + content: "\f2e0"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/code/iibta/iibta-vue/src/styles/css/global.css b/code/iibta/iibta-vue/src/styles/css/global.css new file mode 100644 index 00000000..7d1f8f41 --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/css/global.css @@ -0,0 +1,6 @@ +@import "./nprogress.css"; +@import "./font.css"; +@import "./color.css"; +@import "./layer.css"; +@import "./site.css"; +@import "./ui.css"; diff --git a/code/iibta/iibta-vue/src/styles/css/layer.css b/code/iibta/iibta-vue/src/styles/css/layer.css new file mode 100644 index 00000000..21df966a --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/css/layer.css @@ -0,0 +1,945 @@ +.layui-layer-imgbar, +.layui-layer-imgtit a, +.layui-layer-tab .layui-layer-title span, +.layui-layer-title { + text-overflow: ellipsis; + white-space: nowrap; +} + +html #layuicss-layer { + position: absolute; + display: none; + width: 1989px; +} + +.layui-layer, +.layui-layer-shade { + position: fixed; + _position: absolute; + pointer-events: auto; +} + +.layui-layer-shade { + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.layui-layer { + top: 150px; + left: 0; + padding: 0; + margin: 0; + background-color: #fff; + -webkit-background-clip: content; + border-radius: 2px; + box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.3); + -webkit-overflow-scrolling: touch; +} + +.layui-layer-close { + position: absolute; +} + +.layui-layer-content { + position: relative; +} + +.layui-layer-border { + border: 1px solid #b2b2b2; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2); +} + +.layui-layer-load { + background: url(loading-1.gif) center center no-repeat #eee; +} + +.layui-layer-ico { + background: url(icon.png) no-repeat; +} + +.layui-layer-btn a, +.layui-layer-dialog .layui-layer-ico, +.layui-layer-setwin a { + display: inline-block; + vertical-align: top; +} + +.layui-layer-move { + position: fixed; + top: 0; + left: 0; + z-index: 2147483647; + display: none; + width: 100%; + height: 100%; + cursor: move; + background-color: #fff; + filter: alpha(opacity=0); + opacity: 0; +} + +.layui-layer-resize { + position: absolute; + right: 0; + bottom: 0; + width: 15px; + height: 15px; + cursor: se-resize; +} + +.layer-anim { + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-duration: 0.3s; + animation-duration: 0.3s; +} + +@-webkit-keyframes layer-bounceIn { + 0% { + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes layer-bounceIn { + 0% { + opacity: 0; + -webkit-transform: scale(0.5); + -ms-transform: scale(0.5); + transform: scale(0.5); + } + + 100% { + opacity: 1; + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} + +.layer-anim-00 { + -webkit-animation-name: layer-bounceIn; + animation-name: layer-bounceIn; +} + +@-webkit-keyframes layer-zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale(0.1) translateY(-2000px); + transform: scale(0.1) translateY(-2000px); + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 60% { + opacity: 1; + -webkit-transform: scale(0.475) translateY(60px); + transform: scale(0.475) translateY(60px); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } +} + +@keyframes layer-zoomInDown { + 0% { + opacity: 0; + -webkit-transform: scale(0.1) translateY(-2000px); + -ms-transform: scale(0.1) translateY(-2000px); + transform: scale(0.1) translateY(-2000px); + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 60% { + opacity: 1; + -webkit-transform: scale(0.475) translateY(60px); + -ms-transform: scale(0.475) translateY(60px); + transform: scale(0.475) translateY(60px); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } +} + +.layer-anim-01 { + -webkit-animation-name: layer-zoomInDown; + animation-name: layer-zoomInDown; +} + +@-webkit-keyframes layer-fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + transform: translateY(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); + } +} + +@keyframes layer-fadeInUpBig { + 0% { + opacity: 0; + -webkit-transform: translateY(2000px); + -ms-transform: translateY(2000px); + transform: translateY(2000px); + } + + 100% { + opacity: 1; + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + } +} + +.layer-anim-02 { + -webkit-animation-name: layer-fadeInUpBig; + animation-name: layer-fadeInUpBig; +} + +@-webkit-keyframes layer-zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale(0.1) translateX(-2000px); + transform: scale(0.1) translateX(-2000px); + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 60% { + opacity: 1; + -webkit-transform: scale(0.475) translateX(48px); + transform: scale(0.475) translateX(48px); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } +} + +@keyframes layer-zoomInLeft { + 0% { + opacity: 0; + -webkit-transform: scale(0.1) translateX(-2000px); + -ms-transform: scale(0.1) translateX(-2000px); + transform: scale(0.1) translateX(-2000px); + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + + 60% { + opacity: 1; + -webkit-transform: scale(0.475) translateX(48px); + -ms-transform: scale(0.475) translateX(48px); + transform: scale(0.475) translateX(48px); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } +} + +.layer-anim-03 { + -webkit-animation-name: layer-zoomInLeft; + animation-name: layer-zoomInLeft; +} + +@-webkit-keyframes layer-rollIn { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%) rotate(-120deg); + transform: translateX(-100%) rotate(-120deg); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0) rotate(0); + transform: translateX(0) rotate(0); + } +} + +@keyframes layer-rollIn { + 0% { + opacity: 0; + -webkit-transform: translateX(-100%) rotate(-120deg); + -ms-transform: translateX(-100%) rotate(-120deg); + transform: translateX(-100%) rotate(-120deg); + } + + 100% { + opacity: 1; + -webkit-transform: translateX(0) rotate(0); + -ms-transform: translateX(0) rotate(0); + transform: translateX(0) rotate(0); + } +} + +.layer-anim-04 { + -webkit-animation-name: layer-rollIn; + animation-name: layer-rollIn; +} + +@keyframes layer-fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.layer-anim-05 { + -webkit-animation-name: layer-fadeIn; + animation-name: layer-fadeIn; +} + +@-webkit-keyframes layer-shake { + 0%, + 100% { + -webkit-transform: translateX(0); + transform: translateX(0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translateX(-10px); + transform: translateX(-10px); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translateX(10px); + transform: translateX(10px); + } +} + +@keyframes layer-shake { + 0%, + 100% { + -webkit-transform: translateX(0); + -ms-transform: translateX(0); + transform: translateX(0); + } + + 10%, + 30%, + 50%, + 70%, + 90% { + -webkit-transform: translateX(-10px); + -ms-transform: translateX(-10px); + transform: translateX(-10px); + } + + 20%, + 40%, + 60%, + 80% { + -webkit-transform: translateX(10px); + -ms-transform: translateX(10px); + transform: translateX(10px); + } +} + +.layer-anim-06 { + -webkit-animation-name: layer-shake; + animation-name: layer-shake; +} + +@-webkit-keyframes fadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +.layui-layer-title { + height: 42px; + padding: 0 80px 0 20px; + overflow: hidden; + font-size: 14px; + line-height: 42px; + color: #333; + background-color: #f8f8f8; + border-bottom: 1px solid #eee; + border-radius: 2px 2px 0 0; +} + +.layui-layer-setwin { + position: absolute; + top: 15px; + right: 15px; + font-size: 0; + line-height: initial; +} + +.layui-layer-setwin a { + position: relative; + width: 16px; + height: 16px; + margin-left: 10px; + _overflow: hidden; + font-size: 12px; +} + +.layui-layer-setwin .layui-layer-min cite { + position: absolute; + top: 50%; + left: 0; + width: 14px; + height: 2px; + margin-top: -1px; + _overflow: hidden; + cursor: pointer; + background-color: #2e2d3c; +} + +.layui-layer-setwin .layui-layer-min:hover cite { + background-color: #2d93ca; +} + +.layui-layer-setwin .layui-layer-max { + background-position: -32px -40px; +} + +.layui-layer-setwin .layui-layer-max:hover { + background-position: -16px -40px; +} + +.layui-layer-setwin .layui-layer-maxmin { + background-position: -65px -40px; +} + +.layui-layer-setwin .layui-layer-maxmin:hover { + background-position: -49px -40px; +} + +.layui-layer-setwin .layui-layer-close1 { + cursor: pointer; + background-position: 1px -40px; +} + +.layui-layer-setwin .layui-layer-close1:hover { + opacity: 0.7; +} + +.layui-layer-setwin .layui-layer-close2 { + position: absolute; + top: -28px; + _display: none; + width: 30px; + height: 30px; + margin-left: 0; + background-position: -149px -31px; +} + +.layui-layer-setwin .layui-layer-close2:hover { + background-position: -180px -31px; +} + +.layui-layer-btn { + padding: 0 15px 12px; + text-align: right; + pointer-events: auto; + -webkit-user-select: none; + user-select: none; +} + +.layui-layer-btn a { + height: 28px; + padding: 0 15px; + margin: 5px 5px 0; + font-weight: 400; + line-height: 28px; + color: #333; + text-decoration: none; + cursor: pointer; + background-color: #fff; + border: 1px solid #dedede; + border-radius: 2px; +} + +.layui-layer-btn a:hover { + text-decoration: none; + opacity: 0.9; +} + +.layui-layer-btn a:active { + opacity: 0.8; +} + +.layui-layer-btn .layui-layer-btn0 { + color: #fff; + background-color: #1e9fff; + border-color: #1e9fff; +} + +.layui-layer-btn-l { + text-align: left; +} + +.layui-layer-btn-c { + text-align: center; +} + +.layui-layer-dialog { + min-width: 260px; +} + +.layui-layer-dialog .layui-layer-content { + position: relative; + padding: 20px; + overflow: hidden; + overflow-x: hidden; + overflow-y: auto; + font-size: 14px; + line-height: 24px; + word-break: break-all; +} + +.layui-layer-dialog .layui-layer-content .layui-layer-ico { + position: absolute; + top: 16px; + _left: -40px; + width: 30px; + height: 30px; +} + +.layui-layer-ico1 { + background-position: -30px 0; +} + +.layui-layer-ico2 { + background-position: -60px 0; +} + +.layui-layer-ico3 { + background-position: -90px 0; +} + +.layui-layer-ico4 { + background-position: -120px 0; +} + +.layui-layer-ico5 { + background-position: -150px 0; +} + +.layui-layer-ico6 { + background-position: -180px 0; +} + +.layui-layer-rim { + border: 6px solid #8d8d8d; + border: 6px solid rgba(0, 0, 0, 0.3); + border-radius: 5px; + box-shadow: none; +} + +.layui-layer-msg { + min-width: 180px; + border: 1px solid #d3d4d3; + box-shadow: none; +} + +.layui-layer-hui { + min-width: 100px; + color: #fff; + background-color: #000; + background-color: rgba(0, 0, 0, 0.6); + filter: alpha(opacity=60); + border: none; +} + +.layui-layer-hui .layui-layer-content { + padding: 12px 25px; + text-align: center; +} + +.layui-layer-dialog .layui-layer-padding { + padding: 20px 20px 20px 55px; + text-align: left; +} + +.layui-layer-page .layui-layer-content { + position: relative; + overflow: auto; +} + +.layui-layer-iframe .layui-layer-btn, +.layui-layer-page .layui-layer-btn { + padding-top: 10px; +} + +.layui-layer-nobg { + background: 0 0; +} + +.layui-layer-iframe iframe { + display: block; + width: 100%; +} + +.layui-layer-loading { + background: 0 0; + border: none; + border-radius: 100%; + box-shadow: none; +} + +.layui-layer-loading .layui-layer-content { + width: 60px; + height: 24px; + background: url(loading-0.gif) no-repeat; +} + +.layui-layer-loading .layui-layer-loading1 { + width: 37px; + height: 37px; + background: url(loading-1.gif) no-repeat; +} + +.layui-layer-ico16, +.layui-layer-loading .layui-layer-loading2 { + width: 32px; + height: 32px; + background: url(loading-2.gif) no-repeat; +} + +.layui-layer-tips { + background: 0 0; + border: none; + box-shadow: none; +} + +.layui-layer-tips .layui-layer-content { + position: relative; + _float: left; + min-width: 12px; + padding: 8px 15px; + font-size: 12px; + line-height: 22px; + color: #fff; + background-color: #000; + border-radius: 2px; + box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2); +} + +.layui-layer-tips .layui-layer-close { + top: -1px; + right: -2px; +} + +.layui-layer-tips i.layui-layer-TipsG { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: dashed; + border-width: 8px; +} + +.layui-layer-tips i.layui-layer-TipsB, +.layui-layer-tips i.layui-layer-TipsT { + left: 5px; + border-right-color: #000; + border-right-style: solid; +} + +.layui-layer-tips i.layui-layer-TipsT { + bottom: -8px; +} + +.layui-layer-tips i.layui-layer-TipsB { + top: -8px; +} + +.layui-layer-tips i.layui-layer-TipsL, +.layui-layer-tips i.layui-layer-TipsR { + top: 5px; + border-bottom-color: #000; + border-bottom-style: solid; +} + +.layui-layer-tips i.layui-layer-TipsR { + left: -8px; +} + +.layui-layer-tips i.layui-layer-TipsL { + right: -8px; +} + +.layui-layer-lan[type="dialog"] { + min-width: 280px; +} + +.layui-layer-lan .layui-layer-title { + color: #fff; + background: #4476a7; + border: none; +} + +.layui-layer-lan .layui-layer-btn { + padding: 5px 10px 10px; + text-align: right; + border-top: 1px solid #e9e7e7; +} + +.layui-layer-lan .layui-layer-btn a { + color: #333; + background: #fff; + border-color: #e9e7e7; +} + +.layui-layer-lan .layui-layer-btn .layui-layer-btn1 { + background: #c9c5c5; +} + +.layui-layer-molv .layui-layer-title { + color: #fff; + background: #009f95; + border: none; +} + +.layui-layer-molv .layui-layer-btn a { + background: #009f95; + border-color: #009f95; +} + +.layui-layer-molv .layui-layer-btn .layui-layer-btn1 { + background: #92b8b1; +} + +.layui-layer-iconext { + background: url(icon-ext.png) no-repeat; +} + +.layui-layer-prompt .layui-layer-input { + display: block; + width: 230px; + height: 36px; + padding-left: 10px; + margin: 0 auto; + line-height: 30px; + color: #333; + border: 1px solid #e6e6e6; +} + +.layui-layer-prompt textarea.layui-layer-input { + width: 300px; + height: 100px; + padding: 6px 10px; + line-height: 20px; +} + +.layui-layer-prompt .layui-layer-content { + padding: 20px; +} + +.layui-layer-prompt .layui-layer-btn { + padding-top: 0; +} + +.layui-layer-tab { + box-shadow: 1px 1px 50px rgba(0, 0, 0, 0.4); +} + +.layui-layer-tab .layui-layer-title { + padding-left: 0; + overflow: visible; +} + +.layui-layer-tab .layui-layer-title span { + position: relative; + float: left; + min-width: 80px; + max-width: 260px; + padding: 0 20px; + overflow: hidden; + text-align: center; + cursor: pointer; +} + +.layui-layer-tab .layui-layer-title span.layui-this { + z-index: 10; + height: 43px; + background-color: #fff; + border-right: 1px solid #eee; + border-left: 1px solid #eee; +} + +.layui-layer-tab .layui-layer-title span:first-child { + border-left: none; +} + +.layui-layer-tabmain { + clear: both; + line-height: 24px; +} + +.layui-layer-tabmain .layui-layer-tabli { + display: none; +} + +.layui-layer-tabmain .layui-layer-tabli.layui-this { + display: block; +} + +.layui-layer-photos { + -webkit-animation-duration: 0.8s; + animation-duration: 0.8s; +} + +.layui-layer-photos .layui-layer-content { + overflow: hidden; + text-align: center; +} + +.layui-layer-photos .layui-layer-phimg img { + position: relative; + display: inline-block; + width: 100%; + vertical-align: top; +} + +.layui-layer-imgbar, +.layui-layer-imguide { + display: none; +} + +.layui-layer-imgnext, +.layui-layer-imgprev { + position: absolute; + top: 50%; + _width: 44px; + height: 44px; + margin-top: -22px; + outline: 0; +} + +.layui-layer-imgprev { + left: 10px; + _background-position: -70px -5px; +} + +.layui-layer-imgprev:hover { + _background-position: -120px -5px; +} + +.layui-layer-imgnext { + _right: 8px; + _background-position: -70px -50px; +} + +.layui-layer-imgnext:hover { + _background-position: -120px -50px; +} + +.layui-layer-imgbar { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 32px; + overflow: hidden; + font-size: 0; + line-height: 32px; + color: #fff; + background-color: rgba(0, 0, 0, 0.8); + filter: Alpha(opacity=80); +} + +.layui-layer-imgtit * { + display: inline-block; + font-size: 12px; + vertical-align: top; +} + +.layui-layer-imgtit a { + max-width: 65%; + overflow: hidden; + color: #fff; +} + +.layui-layer-imgtit a:hover { + color: #fff; + text-decoration: underline; +} + +.layui-layer-imgtit em { + padding-left: 10px; + font-style: normal; +} + +@-webkit-keyframes layer-bounceOut { + 100% { + opacity: 0; + -webkit-transform: scale(0.7); + transform: scale(0.7); + } + + 30% { + -webkit-transform: scale(1.05); + transform: scale(1.05); + } + + 0% { + -webkit-transform: scale(1); + transform: scale(1); + } +} + +@keyframes layer-bounceOut { + 100% { + opacity: 0; + -webkit-transform: scale(0.7); + -ms-transform: scale(0.7); + transform: scale(0.7); + } + + 30% { + -webkit-transform: scale(1.05); + -ms-transform: scale(1.05); + transform: scale(1.05); + } + + 0% { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + } +} + +.layer-anim-close { + -webkit-animation-name: layer-bounceOut; + animation-name: layer-bounceOut; + -webkit-animation-fill-mode: both; + animation-fill-mode: both; + -webkit-animation-duration: 0.2s; + animation-duration: 0.2s; +} + +@media screen and (max-width: 1100px) { + .layui-layer-iframe { + overflow-y: auto; + -webkit-overflow-scrolling: touch; + } +} diff --git a/code/iibta/iibta-vue/src/styles/css/nprogress.css b/code/iibta/iibta-vue/src/styles/css/nprogress.css new file mode 100644 index 00000000..15cd8026 --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/css/nprogress.css @@ -0,0 +1,65 @@ +/* Make clicks pass-through */ +#nprogress { + pointer-events: none; +} +/* Remove the shadow effect */ +#nprogress .peg { + position: absolute; + right: 0px; + display: block; + width: 100px; + height: 100%; + opacity: 1; + -webkit-transform: rotate(3deg) translate(0px, -4px); + -ms-transform: rotate(3deg) translate(0px, -4px); + transform: rotate(3deg) translate(0px, -4px); +} +/* Remove spinner and its shadow */ +#nprogress .spinner { + position: fixed; + top: 15px; + right: 15px; + z-index: 1031; + display: block; +} + +#nprogress .spinner-icon { + box-sizing: border-box; + width: 18px; + height: 18px; + + border: solid 2px transparent; + border-top-color: #646cff; + border-left-color: #646cff; + border-radius: 50%; + box-shadow: none; /* Remove spinner shadow */ + -webkit-animation: nprogress-spinner 300ms linear infinite; + animation: nprogress-spinner 300ms linear infinite; +} + +.nprogress-custom-parent { + position: relative; + overflow: hidden; +} + +.nprogress-custom-parent #nprogress .spinner, +.nprogress-custom-parent #nprogress .bar { + position: absolute; +} + +@-webkit-keyframes nprogress-spinner { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + } +} +@keyframes nprogress-spinner { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/code/iibta/iibta-vue/src/styles/css/site.css b/code/iibta/iibta-vue/src/styles/css/site.css new file mode 100644 index 00000000..9022de5e --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/css/site.css @@ -0,0 +1,1289 @@ +@charset "utf-8"; +/* header */ +.ys-header__top { + top: 0; + z-index: 999; + width: 100%; + min-height: 60px; +} +.top-fixed-down { + margin-top: -60px; +} +/* header-logo */ +.ys-header__logo, +.ys-header__menu, +.ys-header__search { + float: left; +} +.ys-header__logo img { + max-width: 162px; +} +/* header-seacrh */ +.ys-header__search { + position: relative; + width: 260px; + margin-top: 12px; + margin-left: 50px; +} +.ys-header__search .form-control { + padding-right: 30px; + background-color: #f5f5f5; + border: 0; + border-radius: 18px; +} +.ys-header__search .submit { + position: absolute; + top: 0; + right: 15px; + display: block; + height: 32px; + font-size: 12px; + line-height: 30px; + text-align: center; + cursor: pointer; + background: none; + border: 0; +} +.ys-header__search .dropdown-box { + margin-left: -130px; +} +.ys-header__search .dropdown-box .item { + width: 260px; + padding: 20px; +} +.ys-header__search.search-box:hover .search-dropdown-hot { + display: block; +} +.ys-header__search .search-select { + position: absolute; + top: 8px; + left: 15px; + padding-right: 8px; + color: #666; + background: none; + border-right: 1px solid #ddd; + box-shadow: none; +} +.ys-header__search .search-select .dropdown-box { + z-index: 101; + margin-left: -40px; +} +.ys-header__search .search-select .dropdown-box .item { + width: 80px; + padding: 10px; +} +.ys-header__search .search-select .dropdown-box .item li { + padding: 2px 0; + text-align: center; +} +/* header-menu */ +.ys-header__menu { + position: relative; +} +.ys-header__menu > li { + position: relative; + float: left; + margin-left: 35px; +} +.ys-header__menu > li > a { + font-size: 16px; + line-height: 60px; +} +.ys-header__menu > li .dropdown-box { + padding-top: 0; + margin-left: -250px; +} +.ys-header__menu > li .dropdown-box .item { + width: 500px; +} +.ys-header__menu > li .dropdown-box .item li { + padding: 6px; +} +/* header-user */ +.ys-header__user { + float: right; +} +.ys-header__user > li { + position: relative; + float: left; + padding: 18px 0 10px; + margin-left: 30px; +} +.ys-header__user > li > a, +.ys-header__user > li > a .fa { + display: inline-block; + font-size: 24px; + line-height: 24px; +} +.ys-header__user > li .dropdown-box { + right: 0; + padding-top: 10px; + margin-right: -50px; + margin-left: 0; +} +.ys-header__user > li .dropdown-box .item { + width: 260px; + padding: 20px; +} +.ys-header__user > li.menu .dropdown-box { + right: 0; + padding-top: 10px; + margin-right: -50px; + margin-left: 0; +} +.ys-header__user > li.menu .dropdown-box .item { + width: 120px; + padding: 10px; +} +.ys-header__user > li.menu .dropdown-box .item li { + padding: 5px 0; + text-align: center; +} +/* 通用 */ +.info-hline { + padding-left: 12px; + color: #575858; + border-left: 5px solid #ffb400; +} +/*third-party-score*/ +.third-party-score a:link { + color: #fff; +} +.third-party-score a:after { + content: "分"; +} +.third-party-score a.db { + background: #107619; +} +.third-party-score a.db::before { + content: "豆瓣 "; +} +.third-party-score a.imdb { + background: #f5c518; +} +.third-party-score a.imdb::before { + font-weight: bolder; + color: #000; + content: "IMDb "; +} +.third-party-score { + margin-top: -40px; +} +/* Carousel base class */ +.carousel-inner > .carousel-item > img, +.carousel-inner > .item > a > img { + width: 100%; + height: 350px; + padding-left: 10px; +} +.carousel-item img { + width: 100%; + height: 350px; +} +.carousel-inner { + width: 100%; + height: 350px; +} +/* nav */ +nav { + display: block; +} +.nav-link { + display: block; + padding: 0.5rem 1rem; +} +.nav-item { + -ms-flex: 1 1 auto; + flex: 1 1 auto; + text-align: center; +} +.nav-tabs > li > a { + display: inline-block; + padding: 8px 0 10px; + font-size: 16px; +} +/* breadcrumb */ +ol { + padding: 0; + margin: 0; + margin-bottom: 0px; + font-weight: normal; +} +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + display: inline-block; + padding-right: 0.5rem; + color: #6c757d; + content: "/"; +} +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: underline; +} +.breadcrumb-item + .breadcrumb-item:hover::before { + text-decoration: none; +} +.breadcrumb-item.active { + color: #6c757d; +} +.breadcrumb { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + padding: 0.75rem 1rem; + margin-bottom: 1rem; + list-style: none; + background-color: #e9ecef; + border-radius: 0.25rem; +} +/* comments */ +.comments .comment-item { + position: relative; + padding: 15px 0 10px; + margin: 0; + overflow: hidden; + font-size: 13px; + zoom: 1; +} +.comments .comment-item .comment { + overflow: hidden; + line-height: 1.5; + color: #494949; + word-wrap: break-word; + zoom: 1; +} +.comments .comment-item .avatar { + float: left; + width: 48px; + margin-right: 15px; +} +.comments .comment-item .comment p { + min-height: 32px; + margin: 0; +} +.comments .comment-item .comment-time { + color: #aaa; +} +.comments .comment-item:not(:last-of-type)::before { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 1px; + content: ""; + background: #ddd; + -webkit-transform: scaleY(0.5); + transform: scaleY(0.5); + -webkit-transform-origin: left bottom; + transform-origin: left bottom; +} +.media { + display: -ms-flexbox; + display: flex; + -ms-flex-align: start; + align-items: flex-start; +} +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} +.media-body { + -ms-flex: 1; + flex: 1; +} +.reviewimg { + width: 24px; + height: 24px; +} +.mr-3, +.mx-3 { + margin-right: 1rem !important; +} +/* downinfo */ +.fileTree li { + padding: 3px 0 2px 16px; +} +.fileTree li.expandable span.folder { + background: url(../img/folder-closed.gif) 0 0 no-repeat; +} +.fileTree li small { + padding-left: 5px; + font-size: 11px; + color: #999; +} +.fileTree span { + padding-left: 18px; +} +.fileTree span.video { + background: url(../img/video.gif) 0 0 no-repeat; +} +.fileTree span.torrent { + background: url(../img/torrent.gif) 0 0 no-repeat; +} +.fileTree span.document { + background: url(../img/document.gif) 0 0 no-repeat; +} +.treeview, +.treeview ul { + padding: 0; + margin: 0; + list-style: none; +} +.treeview ul { + margin-top: 4px; + background-color: white; +} +.treeview li { + padding: 3px 0pt 3px 16px; + margin: 0; +} +.treeview a.selected { + background-color: #eee; +} +.treeview .hover { + color: red; + cursor: pointer; +} +.treeview li { + background: url(../img/treeview-default-line.gif) 0 0 no-repeat; +} +.treeview li.collapsable, +.treeview li.expandable { + background-position: 0 -176px; +} +.dtstyle dl { + margin-right: 15px; + margin-left: 15px; +} +.dtstyle dl dt { + float: left; + padding: 5px; + margin-right: 10px; + font-weight: bold; +} +.dtstyle dl dd { + padding: 5px 0; + margin: 0; +} +.dtstyle .title { + display: inline-block; + overflow: hidden; + word-break: break-all; + word-wrap: break-word; + white-space: normal; +} +.bg-light { + background-color: #f8f9fa !important; +} +.down-btna { + margin-right: 10px; + margin-bottom: 10px; +} +.ovline { + display: inline-block; + overflow: hidden; + word-break: break-all; + word-wrap: break-word; + white-space: normal; +} +.alert { + position: relative; + padding: 0.75rem 1.25rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.25rem; +} +.alert-secondary { + color: #383d41; + background-color: #e2e3e5; + border-color: #d6d8db; +} +.downlist { + padding-top: 0; +} +.downlist li { + padding: 10px 0; +} +.downlist li .text { + overflow: hidden; + line-height: 30px; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.downlist li a { + display: inline-block; + padding: 0; +} +.downlist li a.btn { + padding: 4px 12px; + margin-left: 10px; +} +/* table */ +table { + border-collapse: collapse; +} +th { + text-align: inherit; +} +.table { + width: 100%; + color: rgb(33, 37, 41); +} +.table td, +.table th { + padding: 0.75rem; + vertical-align: top; + border-top: 1px solid rgb(222, 226, 230); +} +.table thead th { + vertical-align: bottom; + border-bottom: 2px solid rgb(222, 226, 230); +} +.table tbody + tbody { + border-top: 2px solid rgb(222, 226, 230); +} +.table-sm td, +.table-sm th { + padding: 0.3rem; +} +.table-hover tbody tr:hover { + color: rgb(33, 37, 41); + background-color: rgba(0, 0, 0, 0.075); +} +.table-hover .table-primary:hover { + background-color: rgb(159, 205, 255); +} +.table-hover .table-primary:hover > td, +.table-hover .table-primary:hover > th { + background-color: rgb(159, 205, 255); +} +.table-hover .table-secondary:hover { + background-color: rgb(200, 203, 207); +} +.table-hover .table-secondary:hover > td, +.table-hover .table-secondary:hover > th { + background-color: rgb(200, 203, 207); +} +.table-hover .table-success:hover { + background-color: rgb(177, 223, 187); +} +.table-hover .table-success:hover > td, +.table-hover .table-success:hover > th { + background-color: rgb(177, 223, 187); +} +.table-hover .table-info:hover { + background-color: rgb(171, 221, 229); +} +.table-hover .table-info:hover > td, +.table-hover .table-info:hover > th { + background-color: rgb(171, 221, 229); +} +.table-hover .table-warning:hover { + background-color: rgb(255, 232, 161); +} +.table-hover .table-warning:hover > td, +.table-hover .table-warning:hover > th { + background-color: rgb(255, 232, 161); +} +.table-hover .table-danger:hover { + background-color: rgb(241, 176, 183); +} +.table-hover .table-danger:hover > td, +.table-hover .table-danger:hover > th { + background-color: rgb(241, 176, 183); +} +.table-hover .table-light:hover { + background-color: rgb(236, 236, 246); +} +.table-hover .table-light:hover > td, +.table-hover .table-light:hover > th { + background-color: rgb(236, 236, 246); +} +.table-hover .table-dark:hover { + background-color: rgb(185, 187, 190); +} +.table-hover .table-dark:hover > td, +.table-hover .table-dark:hover > th { + background-color: rgb(185, 187, 190); +} +.table-hover .table-active:hover { + background-color: rgba(0, 0, 0, 0.075); +} +.table-hover .table-active:hover > td, +.table-hover .table-active:hover > th { + background-color: rgba(0, 0, 0, 0.075); +} +.table .thead-dark th { + color: rgb(255, 255, 255); + background-color: rgb(52, 58, 64); + border-color: rgb(69, 77, 85); +} +.table .thead-light th { + color: rgb(73, 80, 87); + background-color: rgb(233, 236, 239); + border-color: rgb(222, 226, 230); +} +.table-dark.table-hover tbody tr:hover { + color: rgb(255, 255, 255); + background-color: rgba(255, 255, 255, 0.075); +} +.dropdown, +.dropleft, +.dropright, +.dropup { + position: relative; +} +.dropdown-item.active, +.dropdown-item:active { + color: rgb(255, 255, 255); + text-decoration: none; + background-color: rgb(0, 123, 255); +} +.dropdown-menu.show { + display: block; +} +.nav-link { + display: block; + padding: 0.5rem 1rem; +} +.nav-link:focus, +.nav-link:hover { + text-decoration: none; +} +.nav-tabs .nav-link { + border: 1px solid transparent; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} +.nav-tabs .nav-link:focus, +.nav-tabs .nav-link:hover { + border-color: rgb(233, 236, 239) rgb(233, 236, 239) rgb(222, 226, 230); +} +.nav-tabs .nav-link.disabled { + color: rgb(108, 117, 125); + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-item.show .nav-link, +.nav-tabs .nav-link.active { + color: rgb(73, 80, 87); + background-color: rgb(255, 255, 255); + border-color: rgb(222, 226, 230) rgb(222, 226, 230) rgb(255, 255, 255); +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0px; + border-top-right-radius: 0px; +} +.nav-pills .nav-link { + border-radius: 0.25rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: rgb(255, 255, 255); + background-color: rgb(0, 123, 255); +} +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} +.nav-justified .nav-item { + flex-basis: 0px; + flex-grow: 1; + text-align: center; +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.listtables td { + overflow: hidden; + text-align: left; + text-overflow: ellipsis; + word-break: break-all; + overflow-wrap: break-word; + white-space: nowrap; +} +.listtables td a { + overflow: hidden; + text-align: left; + text-overflow: ellipsis; + word-break: break-all; + overflow-wrap: break-word; + white-space: nowrap; +} +.listtables tr { + overflow: hidden; + text-align: left; + text-overflow: ellipsis; + word-break: break-all; + overflow-wrap: break-word; + white-space: nowrap; +} +.table-striped tbody tr:nth-of-type(2n + 1) { + background-color: rgba(0, 0, 0, 0.05); +} +.table-bordered { + border: 1px solid #dee2e6; +} +/* conmmcom*/ +.text-danger { + color: #dc3545 !important; +} +.font-weight-bold { + font-weight: 700 !important; +} +.pl-2, +.px-2 { + padding-left: 0.5rem !important; +} +.pb-2, +.py-2 { + padding-bottom: 0.5rem !important; +} +.pr-2, +.px-2 { + padding-right: 0.5rem !important; +} +.pt-2, +.py-2 { + padding-top: 0.5rem !important; +} +.rounded-lg { + border-radius: 0.3rem !important; +} +.rounded-top { + border-top-left-radius: 0.25rem !important; + border-top-right-radius: 0.25rem !important; +} +.bg-light { + background-color: #f8f9fa !important; +} +.mt-2, +.my-2 { + margin-top: 0.5rem !important; +} +.shadow-sm { + box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; +} +.bg-white { + background-color: #fff !important; +} +.f12 { + font-size: 12px; +} +.btn-group-sm > .btn, +.btn-sm { + font-size: 12px; +} +.btn { + font-size: 12px; +} +.btn-group-sm > .btn, +.btn-sm { + padding: 0.25rem 0.5rem; + font-size: 0.875rem; + line-height: 1.5; + border-radius: 0.2rem; +} +.btn-info { + color: #fff; + background-color: #17a2b8; + border-color: #17a2b8; +} +*, +::after, +::before { + box-sizing: border-box; +} +.text-right { + text-align: right !important; +} + +.table { + width: 100%; + margin-bottom: 1rem; + color: #212529; +} +/* content */ +.ys-content__thumb { + float: left; +} +.ys-content__thumb .ys-vodlist__thumb { + width: 220px; +} +.ys-content__thumb.active .ys-vodlist__thumb { + width: 150px; +} +.ys-content__detail, +.ys-content__operate { + float: left; + width: calc(100% - 220px); + padding-left: 20px; +} +.ys-content__detail.active { + width: calc(100% - 150px); +} +.ys-content__detail .title { + margin: 10px 0 10px; + font-size: 24px; + line-height: 30px; +} +.ys-content__detail .title .score { + display: inline-block; + margin-left: 10px; + font-family: Georgia, "Times New Roman", Times, serif; +} +.ys-content__detail .data { + margin-bottom: 10px; + line-height: 20px; + word-break: break-all; + word-wrap: break-word; + white-space: normal; +} +.ys-content__detail .score { + margin-bottom: 20px; +} +.ys-content__detail .score .rating { + position: relative; + top: 5px; + display: inline-block; +} +.ys-content__detail .score .rating li { + display: inline-block; + margin-right: 5px; + cursor: pointer; +} +.ys-content__detail .score .rating li .fa { + font-size: 24px; +} +.ys-content__detail .score .branch { + display: inline-block; + font-family: Georgia, "Times New Roman", Times, serif; + font-size: 24px; + line-height: 24px; +} +.ys-content__operate { + float: left; + margin-top: 20px; +} +.ys-content__operate .btn { + margin-bottom: 10px; + margin-left: 10px; +} +.ys-content__operate .btn:first-child { + margin-left: 0; +} +.ys-content__operate .share { + margin-top: 5px; +} +.ys-content__tag a { + display: inline-block; + padding: 2px 10px; + margin-left: 5px; + font-size: 12px; + line-height: 20px; + border: 1px solid rgba(0, 0, 0, 0.1); + border-radius: 15px; +} +/* playlist */ +.stui-content__playlist li a { + border: 1px solid #eeeeee; +} +.stui-content__playlist li a:hover, +.stui-content__playlist li.active a { + color: #ffffff; + background-color: #ff9900; + border: 1px solid #ff9900; +} +.nav-tabs > li > a { + margin-top: 1px; + margin-right: 5px; +} +.play-title > li > a:hover { + background-color: #fff; + box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1); +} +.play-ico { + display: inline-block; + height: 18px; + padding-left: 20px; + background-image: url(../img/palyer.png); + background-repeat: no-repeat; + background-position: 0 -1048px; +} +.i-kuyun, +.i-youku, +.i-kkyun { + background-position: 0 0; +} +.i-ku6 { + background-position: 0 -32px; +} +.i-pptv { + background-position: 0 -59px; +} +.i-iqiyi { + background-position: 0 -89px; +} +.i-ifeng, +.i-zuidall, +.i-zuidam3u8 { + background-position: 0 -121px; +} +.i-tudou { + background-position: 0 -152px; +} +.i-weibo { + background-position: 0 -183px; +} +.i-kankan, +.i-zkm3u8, +.i-zkyun { + background-position: 0 -213px; +} +.i-letv { + background-position: 0 -245px; +} +.i-acfun, +.i-yjm3u8, +.i-yjyun { + background-position: 0 -275px; +} +.i-ifeng, +.i-subom3u8, +.i-suboyun { + background-position: 0 -303px; +} +.i-m1905 { + background-position: 0 -332px; +} +.i-cctv, +.i-cntv { + background-position: 0 -419px; +} +.i-sohu { + background-position: 0 -450px; +} +.i-pps { + background-position: 0 -479px; +} +.i-qq { + background-position: 0 -508px; +} +.i-wasu { + background-position: 0 -538px; +} +.i-fun, +.i-som3u8, +.i-soyun { + background-position: 0 -568px; +} +.i-baofeng, +.i-rem3u8, +.i-reyun { + background-position: 0 -711px; +} +.i-mgtv { + background-position: 0 -771px; +} +.i-ffhd, +.i-kkm3u8, +.i-mbm3u8, +.i-mbyun { + background-position: 0 -898px; +} +.i-xigua, +.i-jsm3u8, +.i-jsyun { + background-position: 0 -928px; +} +.i-jjvod, +.i-cjm3u8, +.i-cjyun, +.i-ckm3u8 { + background-position: 0 -959px; +} +.i-xfplay, +.i-bjm3u8, +.i-bjyun { + background-position: 0 -991px; +} +.i-33uu, +.i-dbm3u8, +.i-dbyun { + background-position: 0 -1022px; +} +/* player */ +.ys-player { + padding-top: 50px; + padding-bottom: 15px; + margin-bottom: 50px; +} +.ys-player__item { + position: relative; +} +.ys-player__item .fixed { + position: fixed; + right: 0; + bottom: 0; + z-index: 998; + padding: 10px; + background-color: #fff; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} +.ys-player__item .tips { + position: relative; + height: 40px; + padding: 0 20px; + overflow: hidden; + line-height: 40px; + color: #fff; +} +.ys-player__item .is-btn { + position: absolute; + top: 50%; + right: -12px; + z-index: 99; + display: block; + width: 12px; + height: 60px; + margin-top: -30px; + font-size: 10px; + line-height: 60px; + color: #999; + text-align: center; + background-color: #404040; + border-radius: 0 4px 4px 0; +} +.ys-player__item .player-fixed-off { + position: absolute; + top: -10px; + left: -10px; + display: none; + width: 20px; + height: 20px; + line-height: 20px; + color: #333; + text-align: center; + background-color: #fff; + border-radius: 50%; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} +.ys-player__data { + padding: 20px 0 10px; +} +.ys-player__data .title { + font-size: 24px; +} +.ys-player__operate { + display: -webkit-box; + display: -webkit-flex; + display: flex; + padding: 20px 10px; +} +.ys-player__operate li { + display: block; + -webkit-flex: 1; + flex: 1; + text-align: center; + -webkit-box-flex: 1; +} +.ys-player__operate li.playshare .dropdown-box { + margin-left: -130px; +} +.ys-player__detail .title { + margin: 0 0 10px; +} +.ys-player__detail .detail-content { + padding-top: 10px; +} +.ys-player__detail .desc { + padding-left: 42px; +} +.ys-player__detail .desc .left { + margin-left: -42px; +} +#player-sidebar::-webkit-scrollbar { + width: 4px; + background-color: #1c1b1e; +} +#player-sidebar::-webkit-scrollbar-thumb { + background-color: #434145; +} +.ys-player__notice { + position: absolute; + top: 50%; + left: 0; + width: 100%; + margin-top: -65px; +} +.ys-player__notice h3, +.ys-player__notice h5, +.ys-player__notice p { + color: #fff; +} +.ys-player-links { + position: relative; + top: 15px; + right: 10px; +} +.ys-player-links .btn { + position: absolute; + top: 0; + right: -5px; + border-radius: 0 5px 5px 0; +} +/* news */ +.ys-newslist li { + padding: 30px 0; +} +.ys-newslist li .title { + margin: 0; + font-size: 22px; + font-weight: 600; + line-height: 30px; +} +.ys-newslist li .desc { + padding: 20px 0; + margin: 0; + line-height: 25px; + text-indent: 2em; +} +.ys-newslist__text li .title { + margin: 0; + font-size: 15px; +} +.ys-art__nav li { + padding: 6px 0; +} +.ys-art__nav li.active a { + font-weight: bold; + color: #ff9900; +} +/* footer */ +.ys-foot { + padding: 20px 0; +} +.ys-foot p { + line-height: 25px; +} + +@media (max-width: 1500px) { + /* header */ + .ys-header__top { + padding: 0 20px; + } + .ys-header__search { + width: 200px; + margin-left: 20px; + } + .ys-header__menu > li { + margin-left: 20px; + } + .ys-header__user > li { + margin-left: 20px; + } + .ys-header__menu > li:hover .head-dropdown, + .ys-header__user > li:hover .head-dropdown { + display: none; + } +} + +@media (max-width: 1024px) { + .ys-content__thumb .ys-vodlist__thumb { + width: 200px; + } + .ys-content__detail { + float: left; + width: calc(100% - 200px); + } +} + +@media (max-width: 767px) { + .ys-panel.ys-panel-bg2 { + border-radius: 0; + } + .ys-panel-bg, + .ys-vodlist__bg, + .ys-vodlist__bg:hover { + box-shadow: none; + } + .ys-panel__head .title, + .ys-panel__head .title a { + font-size: 18px; + } + /* header */ + .ys-header__logo img { + max-width: 120px; + } + .ys-header__top { + padding: 0 10px; + } + .ys-header__search { + position: absolute; + top: -100%; + right: 10px; + left: 10px; + width: auto; + padding-right: 30px; + margin-left: 0; + } + .ys-header__search .form-control { + height: 32px; + padding: 0 10px; + border-radius: 16px; + } + .ys-header__search .submit { + right: 30px; + width: 32px; + height: 32px; + line-height: 30px; + } + .ys-header__search .search-close { + position: absolute; + top: 6px; + right: 0; + } + .ys-header__menu > li .dropdown-box { + padding-top: 0; + margin-left: -150px; + } + .ys-header__menu > li .dropdown-box .item { + width: 300px; + } + .ys-header__user > li { + padding: 15px 0 10px; + margin-left: 15px; + } + .ys-header__user > li > a .fa { + font-size: 20px; + line-height: 20px; + } + .ys-header__user > li.menu .dropdown-box, + .ys-header__user > li .dropdown-box { + margin-right: 0; + } + /* Carousel base class */ + .carousel-inner > .carousel-item > img, + .carousel-inner > .item > a > img { + width: 100%; + height: 200px; + padding-left: 10px; + } + .carousel-item img { + width: 100%; + height: 200px; + } + .carousel-inner { + width: 100%; + height: 200px; + } + /* content */ + .ys-content__thumb .ys-vodlist__thumb { + width: 120px; + } + .ys-content__thumb.active .ys-vodlist__thumb { + width: 120px; + } + .ys-content__detail { + float: left; + width: calc(100% - 120px); + } + .ys-content__detail.active { + width: calc(100% - 120px); + } + .ys-content__detail .title { + margin: 5px 0 8px; + font-size: 18px; + line-height: 24px; + } + .ys-content__detail .data { + margin: 0 0 10px; + font-size: 12px; + line-height: 18px; + word-wrap: break-word; + white-space: normal; + } + .ys-content__detail .score { + margin-bottom: 5px; + } + .ys-content__detail .score .branch { + font-size: 16px; + } + .ys-content__detail .score .rating { + top: 0; + } + .ys-content__detail .score .rating li { + margin: 0; + } + .ys-content__detail .score .rating li .fa { + font-size: 18px; + } + .ys-content__operate { + display: -webkit-box; + display: -webkit-flex; + display: flex; + width: 100%; + padding: 0; + } + .ys-content__operate .btn { + -webkit-flex: 1; + flex: 1; + padding: 8px; + text-align: center; + -webkit-box-flex: 1; + } + /* player */ + .ys-player { + padding-top: 0; + } + .ys-player__item { + padding: 0; + } + .ys-player__detail { + margin: 0; + } + .ys-player__detail .data .title { + font-size: 16px; + } + .ys-player__detail.detail .title { + font-size: 18px; + } + .ys-player__operate li { + display: block; + margin: 0; + text-align: center; + } + .ys-player__operate li .fa { + display: block; + margin-bottom: 5px; + font-size: 16px; + } + .ys-player__operate li.playshare .dropdown-box { + margin-left: -180px; + } + .ys-player-links { + top: 0; + right: 0; + padding: 0 10px; + } + .ys-player-links .btn { + right: 8px; + height: 35px; + } + /* news */ + .ys-newslist li .title { + font-size: 18px; + line-height: 30px; + } + .ys-art__nav li a { + display: block; + padding: 0 10px; + } +} diff --git a/code/iibta/iibta-vue/src/styles/css/ui.css b/code/iibta/iibta-vue/src/styles/css/ui.css new file mode 100644 index 00000000..d858e2e5 --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/css/ui.css @@ -0,0 +1,2589 @@ +@charset "utf-8"; +/* body */ +body, +html { + width: 100%; +} +body { + font-size: 14px; + line-height: 140%; + -webkit-overflow-scrolling: touch; + -webkit-transition: 0.5s; + -o-transition: 0.5s; + -moz-transition: 0.5s; + -ms-transition: 0.5s; + transition: 0.5s; +} +body, +ul, +ol, +li, +p, +h1, +h2, +h3, +h4, +h5, +h6, +form, +fieldset, +table, +td, +img, +div, +tr { + padding: 0; + margin: 0; + font-weight: normal; +} +input, +select { + font-size: 12px; + vertical-align: middle; + border: none; +} +ul, +li { + list-style-type: none; +} +img { + border: 0 none; +} +p { + margin-bottom: 10px; +} +/* container */ +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; + margin: 0; +} +:after, +:before { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.container { + position: relative; + margin-right: auto; + margin-left: auto; +} +.row { + position: relative; + padding: 0; + margin: 0; +} +.container:before, +.container:after, +.row:before, +.row:after, +.clearfix:before, +.clearfix:after { + display: table; + clear: both; + content: " "; +} +/* text */ +h1 { + font-size: 36px; +} +h2 { + font-size: 32px; +} +h3 { + font-size: 24px; +} +h4 { + font-size: 18px; +} +h5 { + font-size: 16px; +} +h6 { + font-size: 14px; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin-bottom: 10px; + font-weight: 400; +} +a, +button { + text-decoration: none; + outline: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +button { + border: 0; +} +button:hover, +input.btn { + cursor: pointer; +} +a:focus, +a:hover, +a:active { + text-decoration: none; +} +.text-center { + text-align: center; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-overflow { + width: 100%; + overflow: hidden; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.content { + font-size: 16px; + line-height: 30px; + word-break: break-all; + word-wrap: break-word; + white-space: normal; +} +/* font */ +.font-12 { + font-size: 12px; +} +.font-13 { + font-size: 13px; +} +.font-14 { + font-size: 14px; +} +.font-15 { + font-size: 15px; +} +.font-16 { + font-size: 16px; +} +.font-18 { + font-size: 18px; +} +.font-20 { + font-size: 20px; +} +.font-22 { + font-size: 22px; +} +.font-24 { + font-size: 24px; +} +.font-25 { + font-size: 24px; +} +.font-40 { + font-size: 40px; +} +.font-bold { + font-weight: 700; +} +/* img */ +img { + vertical-align: middle; + border: 0; +} +.img-circle { + border-radius: 50%; +} +.img-rounded { + border-radius: 5px; +} +.img-thumbnail { + padding: 5px; + border-radius: 5px; +} +.img-responsive { + max-width: 100%; +} +.img-thumb { + width: 220px; +} +.content img { + display: block; + max-width: 100%; +} +/* form */ +select { + cursor: pointer; + border: none; + outline: none; +} +input, +textarea { + outline: medium none; + outline: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +input.form-control, +input.btn { + -webkit-appearance: none; + outline: 0px; +} +input[type="checkbox"] { + vertical-align: -2px; +} +.form-control { + display: block; + width: 100%; + height: 35px; + padding: 0 10px; + font-size: 12px; + line-height: 20px; + border-radius: 4px; + transition: + border-color ease-in-out 0.15s, + box-shadow ease-in-out 0.15s; +} +textarea.form-control { + height: auto; + padding: 10px; +} +.form-control.verify { + display: inline-block; + width: 90px; + margin-right: 10px; + text-align: center; +} +/* padding */ +.pb10 { + padding-bottom: 10px; +} +.pt10 { + padding-top: 10px; +} +.pb15 { + padding-bottom: 15px; +} +.pt15 { + padding-top: 15px; +} +.pb20 { + padding-bottom: 20px; +} +.pt20 { + padding-top: 20px; +} +.pb30 { + padding-bottom: 30px; +} +.pt30 { + padding-top: 30px; +} +/* padding */ +.mb10 { + margin-bottom: 10px; +} +.mt10 { + margin-top: 10px; +} +.mb15 { + margin-bottom: 15px; +} +.mt15 { + margin-top: 15px; +} +.mb20 { + margin-bottom: 20px; +} +.ml20 { + margin-left: 20px; +} +.ml10 { + margin-left: 10px; +} +.mt20 { + margin-top: 20px; +} +.mb30 { + margin-bottom: 30px; +} +.mt30 { + margin-top: 30px; +} +/* line */ +.spot { + display: inline-block; + width: 8px; + height: 8px; + margin-right: 5px; + background-color: #fff; + border: 2px solid; + border-radius: 50%; +} +.split-line { + display: inline-block; + width: 1px; + height: 14px; + margin-right: 12px; + margin-left: 12px; + vertical-align: -2px; +} +.top-line, +.top-line-dot, +.bottom-line, +.bottom-line-dot { + position: relative; +} +.top-line:before, +.top-line-dot:before { + position: absolute; + top: 0; + right: 0; + left: 0; + width: 100%; + height: 1px; + content: " "; +} +.bottom-line:after, +.bottom-line-dot:before { + position: absolute; + right: 0; + bottom: 0; + left: 0; + width: 100%; + height: 1px; + content: " "; +} +.top-line:before { + border-top: 1px solid; +} +.bottom-line:after { + border-bottom: 1px solid; +} +.top-line-dot:before { + border-top: 1px dotted; +} +.bottom-line-dot:before { + border-bottom: 1px dotted; +} +/* border */ +.border { + border: 1px solid; +} +.border-2x { + border: 2px solid; +} +.border-3x { + border: 3px solid; +} +.border-4x { + border: 4px solid; +} +.border-5x { + border: 5px solid; +} +/* badge */ +.badge { + display: inline-block; + width: 18px; + height: 18px; + margin-right: 10px; + font-size: 12px; + line-height: 18px; + text-align: center; + border-radius: 2px; +} +.badge-radius { + border-radius: 50%; +} +/* btn */ +.btn { + display: inline-block; + padding: 8px 30px; + font-size: 12px; +} +.btn.btn-xs { + padding: 4px 15px; +} +.btn.btn-sm { + padding: 6px 20px; +} +.btn.btn-md { + padding: 8px 25px; +} +.btn.btn-lg { + padding: 12px 30px; +} +.btn.btn-block { + display: block; + width: 100%; + padding-right: 5px; + padding-left: 5px; + overflow: hidden; + text-align: center; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.btn.disabled { + cursor: not-allowed; +} +/* nav */ +.nav { + position: relative; +} +.nav > li { + float: left; +} +.nav-head > li, +.nav-tabs > li { + margin-top: 10px; + margin-left: 30px; +} +.nav-head > li > a { + padding-bottom: 8px; + font-size: 16px; +} +.nav-tabs > li > a { + padding-bottom: 10px; +} +.nav-tabs > li.active > a { + border-bottom: 2px solid; +} +.nav-tabs > li .dropdown-box { + padding-top: 0; + margin-left: -50px; +} +.nav-tabs > li .dropdown-box .item { + width: 100px; + text-align: center; +} +.nav-tabs > li .dropdown-box .item li { + padding: 5px; +} +.nav-tag > li { + margin-left: 10px; +} +.nav-tag > li > a { + display: inline-block; + height: 25px; + padding: 0 10px; + font-size: 14px; + line-height: 23px; + border-radius: 20px; +} +.nav-text > li { + line-height: 30px; +} +.nav-text > li.active > a { + color: #f80; +} +.nav-page { + margin-left: 10px; +} +.nav-page > li { + margin-left: 5px; +} +.nav-page > li > a { + display: inline-block; + height: 25px; + padding: 0 6px; + font-size: 14px; + line-height: 23px; +} +.nav-page > li:first-child { + margin-left: 0; +} +.nav-page > li:first-child > a { + border-radius: 4px 0 0 4px; +} +.nav-page > li:last-child > a { + border-radius: 0 4px 4px 0; +} +.nav-btn > li { + margin-right: 15px; + margin-bottom: 15px; +} +.nav-btn > li a { + padding: 8px 12px; + border-radius: 5px; +} +/* pic-tag */ +.pic-tag { + position: absolute; + z-index: 99; + display: block; + width: 100%; + padding: 2px 0; +} +.pic-tag-top { + top: 5px; + left: 5px; +} +.pic-tag-left { + bottom: 5px; + left: 5px; +} +.pic-tag-bottom { + right: 5px; + bottom: 5px; + text-align: right; +} +.pic-tag-right { + top: 5px; + right: 5px; + text-align: right; +} +.pic-tag-h { + top: 0; + left: 0; + padding: 2px 8px; + border-radius: 0 0 8px 0; +} +.pic-tag-lg { + padding: 4px 10px; +} +.pic-tag .tag { + display: inline-block; + padding: 0 5px; + margin: 0 4px; + font-size: 12px; + border-radius: 2px; +} +.pic-text { + position: absolute; + bottom: 0; + left: 0; + z-index: 98; + display: block; + width: 100%; + padding: 5px 10px; + overflow: hidden; + font-size: 12px; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.pic-text-silde { + padding-bottom: 20px; + font-size: 14px; +} +.pic-text-lg { + padding: 8px 20px; + font-size: 14px; +} +.pic-title-top { + position: absolute; + top: 0; + left: 0; + display: block; + display: -webkit-box; + width: 100%; + padding: 5px 10px 10px; + overflow: hidden; + font-size: 12px; + word-break: break-all; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +.pic-title-bottom { + position: absolute; + bottom: 0; + left: 0; + display: block; + display: -webkit-box; + width: 100%; + padding: 5px 10px; + overflow: hidden; + font-size: 12px; + word-break: break-all; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; +} +/* qrcode */ +.qrcode-box { + position: relative; + display: inline-block; + margin-bottom: 10px; +} +.qrcode-box .icon { + position: absolute; + top: 50%; + left: 50%; + margin-top: -12.5px; + margin-left: -12.5px; + background-color: #fff; + border-radius: 2px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); +} +/* dropdown */ +.dropdown { + position: relative; +} +.dropdown-box { + position: absolute; + z-index: 99; + display: none; +} +.dropdown-box.top { + bottom: 100%; + left: 50%; + padding-bottom: 10px; + margin-left: -80px; +} +.dropdown-box.bottom { + top: 100%; + left: 50%; + padding-top: 10px; + margin-left: -80px; +} +.dropdown-box.left { + bottom: 0; + left: 100%; + padding-left: 10px; +} +.dropdown-box.right { + right: 100%; + bottom: 0; + padding-right: 10px; +} +.dropdown-box .item { + width: 160px; + padding: 10px; + border-radius: 2px; +} +.dropdown-hover { + position: relative; +} +.dropdown-hover:hover .dropdown-box { + display: block; +} +.open > .dropdown-box { + display: block; +} +/* layout */ +.ys-layout { + position: relative; +} +/* panel */ +.ys-panel { + position: relative; +} +.ys-panel-box.active { + padding: 0; +} +/* panel-head */ +.ys-panel__head { + position: relative; + height: 30px; +} +.ys-panel__head .title { + display: inline-block; + float: left; + padding-right: 10px; + margin: 0; + line-height: 30px; +} +.ys-panel__head .title img { + display: inline-block; + width: 24px; + height: 24px; + margin-right: 10px; + vertical-align: -5px; +} +.ys-panel__head .title, +.ys-panel__head .title a { + font-size: 24px; +} +.ys-panel__head .more { + line-height: 30px; +} +.ys-panel__head .operate { + position: relative; + padding-bottom: 5px; +} +.ys-panel__head .operate.open .dropdown-menu { + display: block; +} +.ys-panel__head.active { + height: 42px; +} +/* vod-list */ +.ys-vodlist__thumb { + position: relative; + display: block; + overflow: hidden; + background-position: 50% 50% !important; + background-size: cover !important; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); +} +.ys-vodlist__thumb.picture { + overflow: hidden; + background: none; +} +.ys-vodlist__thumb.picture img { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ys-vodlist__thumb .play { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.2) url(../img/play.png) center no-repeat; + background-color: rgba(0, 0, 0, 0.2); + opacity: 0; + -webkit-transition: all ease-out 0.35s; + transition: all ease-out 0.35s; +} +.ys-vodlist__thumb .play-v { + position: absolute; + top: 0; + z-index: 1; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.2); + opacity: 0; + -webkit-transition: all ease-out 0.35s; + transition: all ease-out 0.35s; +} +.ys-vodlist__thumb .play.active { + opacity: 1; +} +.ys-vodlist__thumb:hover .play, +.ys-vodlist__thumb:hover .play-v { + opacity: 1; +} +.ys-vodlist__detail.active { + padding: 0 10px 10px; +} +.ys-vodlist__detail .title { + margin: 10px 0 0; + font-size: 15px; + font-weight: 700; +} +.ys-vodlist__detail .title.active { + margin-bottom: 10px; + font-size: 16px; +} +.ys-vodlist__detail .text { + min-height: 19px; + margin-top: 5px; + margin-bottom: 0; + font-size: 12px; +} +.ys-vodlist__detail .text-title { + display: -webkit-box; + height: 36px; + margin: 11px 0 0; + overflow: hidden; + font-size: 14px; + line-height: 18px; + text-overflow: ellipsis; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} +/* text-list */ +.ys-vodlist__text li a { + display: block; +} +.ys-vodlist__text.active li a { + padding: 0 0 15px; +} +.ys-vodlist__text.active li:first-child a { + padding-top: 0; +} +.ys-vodlist__text.striped li { + padding: 10px 0 10px; +} +.ys-vodlist__text.striped li a { + display: inline-block; + padding: 0; +} +.ys-vodlist__text.striped .striped-head { + padding: 10px; + border-radius: 5px; +} +.ys-vodlist__text .striped-head { + font-weight: 700; +} +.ys-vodlist__text.to-color li { + padding: 10px; + border-radius: 5px; +} +.ys-vodlist__text.to-color li a { + padding: 0; +} +.ys-vodlist__text.downlist { + padding-top: 0; +} +.ys-vodlist__text.downlist li { + padding: 10px 0; +} +.ys-vodlist__text.downlist li .text { + overflow: hidden; + line-height: 30px; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.ys-vodlist__text.downlist li a { + display: inline-block; + padding: 0; +} +.ys-vodlist__text.downlist li a.btn { + padding: 4px 12px; + margin-left: 10px; +} +/* media-list */ +.ys-vodlist__media li:first-child { + padding-top: 0; +} +.ys-vodlist__media li:last-child { + padding-bottom: 0; +} +.ys-vodlist__media .thumb, +.ys-vodlist__media .detail { + display: table-cell; + vertical-align: top; +} +.ys-vodlist__media .detail { + width: 100%; + padding: 0 0 0 20px; +} +.ys-vodlist__media .detail .desc { + height: 40px; +} +.ys-vodlist__media .detail-side { + padding: 0 10px 0; +} +.ys-vodlist__media .detail-left { + padding: 0 20px 0 0; +} +.ys-vodlist__media .detail h4.title { + margin: 10px 0 10px; + font-size: 18px; + line-height: 25px; +} +.ys-vodlist__media .detail h5.title { + height: 38px; + font-size: 15px; + line-height: 20px; +} +/* screen-list */ +.ys-vodlist__screen { + padding: 10px 0 5px; +} +.ys-vodlist__screen:first-child { + padding-top: 0; +} +.ys-vodlist__screen:last-child { + padding-bottom: 0; +} +.ys-vodlist__screen li { + float: left; + width: 25%; + margin-bottom: 5px; +} +/* rank-list */ +.ys-vodlist__rank li { + margin-bottom: 10px; +} +.ys-vodlist__rank li:last-child { + margin-bottom: 0; +} +/* link-list */ +.ys-link__text li { + float: left; + margin-right: 15px; + margin-bottom: 10px; +} +/* play-list */ +.ys-content__list { + position: relative; +} +.ys-content__list li { + float: left; + padding: 10px; +} +.ys-content__list li a { + display: block; + width: 100%; + padding: 8px; + overflow: hidden; + text-align: center; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; +} +.ys-play__list li { + float: left; +} +.ys-play__list li a { + display: block; + padding: 8px 0; + text-align: center; +} +/* down-list */ +.ys-down__list li { + padding: 10px; +} +.ys-down__list li:first-child { + margin-top: -20px; +} +.ys-down__list li .text { + line-height: 30px; +} +.ys-down__list li .operate { + float: right; +} +.ys-down__list li .operate .btn { + display: inline-block; + padding: 5px 10px; + margin-left: 5px; +} +.ys-down__list li .operate .btn:hover { + opacity: 0.8; +} +.ys-down__list li .operate .btn img { + vertical-align: -1px; +} +.ys-down__list li .operate .thunder { + color: #fff; + background-color: #11a5e8; + border-color: #11a5e8; +} +.ys-down__list li .operate .bendi { + color: #fff; + background-color: #009966; + border-color: #009966; +} +.ys-down__list li .operate .copy { + color: #fff; + background-color: #ff9900; + border-color: #ff9900; +} +.ys-down__list li .operate .xiaomi { + color: #fff; + background-color: #ff5722; + border-color: #ff5722; +} +.ys-down__list li .operate .thunderkk { + color: #fff; + background-color: #009688; + border-color: #009688; +} +/* article */ +.ys-article__title { + margin: 0 0 10px; + font-size: 24px; + font-weight: 700; + line-height: 30px; +} +.ys-article__sub { + padding-bottom: 10px; + margin-bottom: 10px; +} +.ys-article__content { + font-size: 16px; + line-height: 30px; +} +.ys-article__content img { + display: block; + max-width: 100%; +} +/* screen */ +.ys-screen__list { + position: relative; +} +.ys-screen__list li { + float: left; +} +.ys-screen__list li a.btn { + padding: 5px 12px; + font-size: 14px; +} +/* table */ +.ys-table { + position: relative; + width: 100%; + max-width: 100%; + border-spacing: 0; + border-collapse: collapse; +} +.ys-table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid; +} +.ys-table > tbody > tr > td, +.ys-table > tbody > tr > th, +.ys-table > tfoot > tr > td, +.ys-table > tfoot > tr > th, +.ys-table > thead > tr > td, +.ys-table > thead > tr > th { + padding: 8px; + line-height: 25px; + vertical-align: top; + border-bottom: 1px solid; +} +/* message */ +.styu-message__list { + position: relative; + padding: 20px 0; +} +.styu-message__list .avatar { + float: left; + width: 60px; +} +.styu-message__list .data { + margin-left: 60px; +} +.styu-message__list .data .name { + margin: 0; + font-size: 16px; +} +.styu-message__list .data .content { + padding: 5px 0; + line-height: 20px; + word-wrap: break-word; + white-space: normal; +} +.styu-message__list .data .admin, +.styu-message__list .data .content { + margin: 0; + font-size: 14px; +} +.styu-message__list.child { + padding-bottom: 0; + margin-top: 20px; +} +/* msg */ +.ys-msg__form { + max-width: 380px; + padding: 50px; + margin: 0 auto; +} +.ys-msg__head { + margin-bottom: 20px; +} +.ys-msg__head .fa { + margin-bottom: 20px; + font-size: 80px; + color: red; +} +/* page */ +.ys-page { + margin-bottom: 30px; +} +.ys-page li { + display: inline-block; + margin-left: 10px; +} +.ys-page li .num, +.ys-page li a { + padding: 5px 15px; +} +/* extra */ +.ys-extra { + position: fixed; + right: 50px; + bottom: 50px; + z-index: 999; +} +.ys-extra li { + position: relative; + padding: 15px 10px 0; +} +.ys-extra li a { + display: block; + width: 50px; + height: 50px; + font-size: 18px; + line-height: 50px; + text-align: center; + cursor: pointer; + border-radius: 4px; +} +/* flickity */ +.flickity { + position: relative; + overflow: hidden; + white-space: nowrap; +} +.flickity [class^="col-"] { + display: inline-block !important; + float: none !important; +} +.flickity.dots { + padding-bottom: 20px; +} +.flickity-enabled { + position: relative; +} +.flickity-enabled:focus { + outline: 0; +} +.flickity-viewport { + position: relative; + height: 100%; + overflow: hidden; +} +.flickity-slider { + position: absolute; + width: 100%; + height: 100%; +} +.flickity-viewport.is-pointer-down { + cursor: -webkit-grabbing; + cursor: grabbing; +} +.flickity-prev-next-button { + position: absolute; + top: 50%; + width: 25px; + height: 50px; + cursor: pointer; + background-color: rgba(0, 0, 0, 0.6); + border: none; + opacity: 0; + -webkit-transition: all ease-out 0.35s; + transition: all ease-out 0.35s; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); +} +.flickity-prev-next-button.previous { + left: 0; + border-radius: 0 6px 6px 0; +} +.flickity-prev-next-button.next { + right: 0; + border-radius: 6px 0 0 6px; +} +.flickity-prev-next-button:disabled { + cursor: auto; + opacity: 0; +} +.flickity-prev-next-button svg { + position: absolute; + top: 20%; + left: 20%; + width: 60%; + height: 60%; +} +.flickity-prev-next-button .arrow { + fill: #fff; +} +.flickity-prev-next-button.no-svg { + font-size: 18px; + color: #fff; +} +.flickity-page-dots { + position: relative; + text-align: center; +} +.flickity-page-dots .dot { + display: inline-block; + width: 15px; + height: 3px; + margin: 0 5px; + cursor: pointer; + opacity: 0.25; +} +.flickity-page-dots .dot.is-selected { + opacity: 1; +} +.flickity:hover .flickity-prev-next-button { + opacity: 1; +} +.flickity.active .flickity-prev-next-button { + margin-top: -25px; +} +.flickity.center .flickity-prev-next-button.previous { + left: 0; +} +.flickity.center .flickity-prev-next-button.next { + right: 0; +} +/* slide */ +.carousel { + position: relative; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + z-index: 99; + display: block; + width: 50px; + height: 100%; +} +.carousel-control.left { + left: 30px; +} +.carousel-control.right { + right: 30px; +} +.carousel-control .fa { + position: absolute; + top: 50%; + display: block; + width: 50px; + height: 50px; + margin-top: -25px; + font-size: 30px; + line-height: 50px; + color: #fff; + text-align: center; + background-color: rgba(0, 0, 0, 0.6); + border-radius: 50%; + opacity: 0.5; +} +.carousel-control:hover .fa { + opacity: 1; +} +.carousel-indicators { + position: absolute; + z-index: 101; +} +.carousel-indicators-dots { + bottom: 20px; + left: 0; + width: 100%; + text-align: center; +} +.carousel-indicators-dots li { + display: inline-block; + width: 15px; + height: 3px; + margin: 0 5px; + cursor: pointer; + opacity: 0.25; +} +.carousel-indicators-dots li.active { + opacity: 1; +} +.carousel-indicators-text { + top: 0; + right: 150px; + bottom: 0; + z-index: 2; + width: 260px; + padding: 50px 20px; + background-color: rgba(32, 32, 32, 0.6); +} +.carousel-indicators-text li { + padding: 10px 0; + cursor: pointer; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} +.carousel-indicators-text li:last-child { + border-bottom: 0; +} +.carousel-indicators-text li .title { + margin: 0; + color: #ccc; +} +.carousel-indicators-text li .text { + margin: 0; + font-size: 12px; + color: #999; +} +.carousel-indicators-thumb { + bottom: 20px; + left: 0; + width: 100%; + text-align: center; +} +.carousel-indicators-thumb li { + display: inline-block; + margin: 0 2px; + overflow: hidden; + border: 3px solid rgba(255, 255, 255, 0.6); + border-radius: 2px; + box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); +} +/* popup */ +.popup { + position: fixed; + z-index: 1001; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + -webkit-transition: 0.5s; + -o-transition: 0.5s; + -moz-transition: 0.5s; + -ms-transition: 0.5s; + transition: 0.5s; +} +.popup.left { + top: 0; + left: -100%; +} +.popup.right { + top: 0; + right: -100%; +} +.popup.top { + top: -100%; + left: 0; +} +.popup.bottom { + right: 0; + bottom: -100%; +} +.popup-visible.left { + left: 0; +} +.popup-visible.right { + right: 0; +} +.popup-visible.top { + top: 0; +} +.popup-visible.bottom { + bottom: 0; +} +.popup-head { + position: relative; + padding: 10px 20px; +} +.popup-body { + position: relative; + padding: 10px; +} +/* embed */ +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive embed, +.embed-responsive iframe, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +/* bootstrap*/ +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +.tab-content > .tab-pane, +.carousel-inner > .item { + display: none; +} +.tab-content > .tab-pane.active, +.carousel-inner > .item.active { + display: block; +} +/* modal */ +.modal-open { + overflow: hidden; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.fade.in { + opacity: 0.5; +} +/* autocomplete */ +.autocomplete-suggestions { + position: absolute; + top: 100%; + z-index: 9999; + width: 100%; + padding: 10px; + margin-top: 5px; + border-radius: 4px; +} +.autocomplete-suggestion, +.autocomplete-suggestions li { + padding: 5px 0; + cursor: pointer; +} +.autocomplete-suggestion:first-child { + border-top: 0; +} +/* mobile-share */ +.mobile-share { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 999; + width: 100%; + height: 100%; + -webkit-animation: fade-in 0.5s; + animation: fade-in; + animation-duration: 0.5s; +} +.share-weixin { + background: url(../img/share_weixin.png) rgba(0, 0, 0, 0.8) no-repeat; + background-position: right top 10px; + background-size: 80%; +} +.share-other { + background: url(../img/share_other.png) rgba(0, 0, 0, 0.8) no-repeat; + background-position: center bottom 10px; + background-size: 80%; +} +/* taddar */ +.ys-nav__tabbar { + display: none; +} +/* more */ +.hidden { + overflow: hidden !important; +} +.relative { + position: relative; +} +.fixed { + position: fixed; +} +.block { + display: block !important; +} +.inline-block { + display: inline-block !important; +} +.top-fixed-up { + margin-top: 0 !important; +} +.top-fixed { + -webkit-transition: 0.5s; + -o-transition: 0.5s; + -moz-transition: 0.5s; + -ms-transition: 0.5s; + transition: 0.5s; +} +.pull-left { + float: left !important; +} +.pull-right { + float: right !important; +} +.margin-0 { + margin: 0 !important; +} +.padding-0 { + padding: 0 !important; +} +.margin-t0 { + margin: 0 !important; +} +.padding-t0 { + padding-top: 0 !important; +} +.margin-b0 { + margin-bottom: 0 !important; +} +.padding-b0 { + padding-top: 0 !important; +} +.radius-0 { + border-radius: 0 !important; +} +.hide, +.visible-lg, +.visible-md, +.visible-sm, +.visible-xs, +.visible-mi, +.visible-inline-lg, +.visible-inline-md, +.visible-inline-sm, +.visible-inline-xs, +.visible-inline-mi { + display: none !important; +} +.mask { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 999; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.2); + -webkit-animation: fade-in 0.5s; + animation: fade-in; + animation-duration: 0.5s; +} +.fadeInDown { + -webkit-animation: fadeInDown 0.5s 0.2s ease both; + -moz-animation: fadeInDown 0.5s 0.2s ease both; +} +.scrollbar::-webkit-scrollbar { + width: 4px; + background-color: #f5f5f5; +} +.scrollbar::-webkit-scrollbar-thumb { + background-color: #ccc; +} +@keyframes fade-in { + 0% { + opacity: 0; + } + 40% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes fade-in { + 0% { + opacity: 0; + } + 40% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@-webkit-keyframes fadeInDown { + 0% { + opacity: 0; + -webkit-transform: translateY(-10px); + } + 100% { + opacity: 1; + -webkit-transform: translateY(0); + } +} +@-moz-keyframes fadeInDown { + 0% { + opacity: 0; + -moz-transform: translateY(-10px); + } + 100% { + opacity: 1; + -moz-transform: translateY(0); + } +} +/* media */ +.col-pd, +.col-lg-1, +.col-lg-10, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-md-1, +.col-md-10, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-sm-1, +.col-sm-10, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-xs-1, +.col-xs-10, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9 { + position: relative; + min-height: 1px; +} +.col-xs-1, +.col-xs-10, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-wide-1, +.col-xs-wide-10, +.col-xs-wide-15, +.col-xs-wide-2, +.col-xs-wide-25, +.col-xs-wide-3, +.col-xs-wide-35, +.col-xs-wide-4, +.col-xs-wide-45, +.col-xs-wide-5, +.col-xs-wide-55, +.col-xs-wide-6, +.col-xs-wide-65, +.col-xs-wide-7, +.col-xs-wide-75, +.col-xs-wide-8, +.col-xs-wide-85, +.col-xs-wide-9, +.col-xs-wide-95 { + float: left; +} +.col-xs-10 { + width: 10%; +} +.col-xs-9 { + width: 11.1111111%; +} +.col-xs-8 { + width: 12.5%; +} +.col-xs-7 { + width: 14.2857143%; +} +.col-xs-6 { + width: 16.6666667%; +} +.col-xs-5 { + width: 20%; +} +.col-xs-4 { + width: 25%; +} +.col-xs-3 { + width: 33.3333333%; +} +.col-xs-2 { + width: 50%; +} +.col-xs-1 { + width: 100%; +} +.col-xs-wide-10 { + width: 10%; +} +.col-xs-wide-9 { + width: 90%; +} +.col-xs-wide-8 { + width: 80%; +} +.col-xs-wide-7 { + width: 70%; +} +.col-xs-wide-6 { + width: 60%; +} +.col-xs-wide-5 { + width: 50%; +} +.col-xs-wide-4 { + width: 40%; +} +.col-xs-wide-3 { + width: 30%; +} +.col-xs-wide-2 { + width: 20%; +} +.col-xs-wide-15 { + width: 15%; +} +.col-xs-wide-95 { + width: 95%; +} +.col-xs-wide-85 { + width: 85%; +} +.col-xs-wide-75 { + width: 75%; +} +.col-xs-wide-65 { + width: 65%; +} +.col-xs-wide-55 { + width: 55%; +} +.col-xs-wide-45 { + width: 45%; +} +.col-xs-wide-35 { + width: 35%; +} +.col-xs-wide-25 { + width: 25%; +} +.img-xs-300 { + width: 300px; +} +.img-xs-220 { + width: 220px; +} +.img-xs-190 { + width: 190px; +} +.img-xs-160 { + width: 160px; +} +.img-xs-150 { + width: 150px; +} +.img-xs-140 { + width: 140px; +} +.img-xs-130 { + width: 130px; +} +.img-xs-120 { + width: 120px; +} +.img-xs-110 { + width: 110px; +} +.img-xs-100 { + width: 100px; +} +.img-xs-90 { + width: 90px; +} +.img-xs-80 { + width: 80px; +} +.img-xs-70 { + width: 70px; +} + +@media (min-width: 768px) { + .col-sm-1, + .col-sm-10, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-wide-1, + .col-sm-wide-10, + .col-sm-wide-15, + .col-sm-wide-2, + .col-sm-wide-25, + .col-sm-wide-3, + .col-sm-wide-35, + .col-sm-wide-4, + .col-sm-wide-45, + .col-sm-wide-5, + .col-sm-wide-55, + .col-sm-wide-6, + .col-sm-wide-65, + .col-sm-wide-7, + .col-sm-wide-75, + .col-sm-wide-8, + .col-sm-wide-85, + .col-sm-wide-9, + .col-sm-wide-95 { + float: left; + } + .col-sm-10 { + width: 10%; + } + .col-sm-9 { + width: 11.1111111%; + } + .col-sm-8 { + width: 12.5%; + } + .col-sm-7 { + width: 14.2857143%; + } + .col-sm-6 { + width: 16.6666667%; + } + .col-sm-5 { + width: 20%; + } + .col-sm-4 { + width: 25%; + } + .col-sm-3 { + width: 33.3333333%; + } + .col-sm-2 { + width: 50%; + } + .col-sm-1 { + width: 100%; + } + .col-sm-wide-10 { + width: 10%; + } + .col-sm-wide-9 { + width: 90%; + } + .col-sm-wide-8 { + width: 80%; + } + .col-sm-wide-7 { + width: 70%; + } + .col-sm-wide-6 { + width: 60%; + } + .col-sm-wide-5 { + width: 50%; + } + .col-sm-wide-4 { + width: 40%; + } + .col-sm-wide-3 { + width: 30%; + } + .col-sm-wide-2 { + width: 20%; + } + .col-sm-wide-15 { + width: 15%; + } + .col-sm-wide-95 { + width: 95%; + } + .col-sm-wide-85 { + width: 85%; + } + .col-sm-wide-75 { + width: 75%; + } + .col-sm-wide-65 { + width: 65%; + } + .col-sm-wide-55 { + width: 55%; + } + .col-sm-wide-45 { + width: 45%; + } + .col-sm-wide-35 { + width: 35%; + } + .col-sm-wide-25 { + width: 25%; + } + .img-sm-300 { + width: 300px; + } + .img-sm-220 { + width: 220px; + } + .img-sm-190 { + width: 190px; + } + .img-sm-160 { + width: 160px; + } + .img-sm-150 { + width: 150px; + } + .img-sm-140 { + width: 140px; + } + .img-sm-130 { + width: 130px; + } + .img-sm-120 { + width: 120px; + } + .img-sm-110 { + width: 110px; + } + .img-sm-100 { + width: 100px; + } + .img-sm-90 { + width: 90px; + } + .img-sm-80 { + width: 80px; + } + .img-sm-70 { + width: 70px; + } +} + +@media (min-width: 1024px) { + .col-md-1, + .col-md-10, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-wide-1, + .col-md-wide-10, + .col-md-wide-15, + .col-md-wide-2, + .col-md-wide-25, + .col-md-wide-3, + .col-md-wide-35, + .col-md-wide-4, + .col-md-wide-45, + .col-md-wide-5, + .col-md-wide-55, + .col-md-wide-6, + .col-md-wide-65, + .col-md-wide-7, + .col-md-wide-75, + .col-md-wide-8, + .col-md-wide-85, + .col-md-wide-9, + .col-md-wide-95 { + float: left; + } + .col-md-10 { + width: 10%; + } + .col-md-9 { + width: 11.1111111%; + } + .col-md-8 { + width: 12.5%; + } + .col-md-7 { + width: 14.2857143%; + } + .col-md-6 { + width: 16.6666667%; + } + .col-md-5 { + width: 20%; + } + .col-md-4 { + width: 25%; + } + .col-md-3 { + width: 33.3333333%; + } + .col-md-2 { + width: 50%; + } + .col-md-1 { + width: 100%; + } + .col-md-wide-10 { + width: 10%; + } + .col-md-wide-9 { + width: 90%; + } + .col-md-wide-8 { + width: 80%; + } + .col-md-wide-7 { + width: 70%; + } + .col-md-wide-6 { + width: 60%; + } + .col-md-wide-5 { + width: 50%; + } + .col-md-wide-4 { + width: 40%; + } + .col-md-wide-3 { + width: 30%; + } + .col-md-wide-2 { + width: 20%; + } + .col-md-wide-15 { + width: 15%; + } + .col-md-wide-95 { + width: 95%; + } + .col-md-wide-85 { + width: 85%; + } + .col-md-wide-75 { + width: 75%; + } + .col-md-wide-65 { + width: 65%; + } + .col-md-wide-55 { + width: 55%; + } + .col-md-wide-45 { + width: 45%; + } + .col-md-wide-35 { + width: 35%; + } + .col-md-wide-25 { + width: 25%; + } + .img-md-300 { + width: 300px; + } + .img-md-220 { + width: 220px; + } + .img-md-190 { + width: 190px; + } + .img-md-160 { + width: 160px; + } + .img-md-150 { + width: 150px; + } + .img-md-140 { + width: 140px; + } + .img-md-130 { + width: 130px; + } + .img-md-120 { + width: 120px; + } + .img-md-110 { + width: 110px; + } + .img-md-100 { + width: 100px; + } + .img-md-90 { + width: 90px; + } + .img-md-80 { + width: 80px; + } + .img-md-70 { + width: 70px; + } +} + +@media (min-width: 1440px) { + .col-lg-1, + .col-lg-10, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-wide-1, + .col-lg-wide-10, + .col-lg-wide-15, + .col-lg-wide-2, + .col-lg-wide-25, + .col-lg-wide-3, + .col-lg-wide-35, + .col-lg-wide-4, + .col-lg-wide-45, + .col-lg-wide-5, + .col-lg-wide-55, + .col-lg-wide-6, + .col-lg-wide-65, + .col-lg-wide-7, + .col-lg-wide-75, + .col-lg-wide-8, + .col-lg-wide-85, + .col-lg-wide-9, + .col-lg-wide-95 { + float: left; + } + .col-lg-10 { + width: 10%; + } + .col-lg-9 { + width: 11.1111111%; + } + .col-lg-8 { + width: 12.5%; + } + .col-lg-7 { + width: 14.2857143%; + } + .col-lg-6 { + width: 16.6666667%; + } + .col-lg-5 { + width: 20%; + } + .col-lg-4 { + width: 25%; + } + .col-lg-3 { + width: 33.3333333%; + } + .col-lg-2 { + width: 50%; + } + .col-lg-1 { + width: 100%; + } + .col-lg-wide-10 { + width: 10%; + } + .col-lg-wide-9 { + width: 90%; + } + .col-lg-wide-8 { + width: 80%; + } + .col-lg-wide-7 { + width: 70%; + } + .col-lg-wide-6 { + width: 60%; + } + .col-lg-wide-5 { + width: 50%; + } + .col-lg-wide-4 { + width: 40%; + } + .col-lg-wide-3 { + width: 30%; + } + .col-lg-wide-2 { + width: 20%; + } + .col-lg-wide-15 { + width: 15%; + } + .col-lg-wide-95 { + width: 95%; + } + .col-lg-wide-85 { + width: 85%; + } + .col-lg-wide-75 { + width: 75%; + } + .col-lg-wide-65 { + width: 65%; + } + .col-lg-wide-55 { + width: 55%; + } + .col-lg-wide-45 { + width: 45%; + } + .col-lg-wide-35 { + width: 35%; + } + .col-lg-wide-25 { + width: 25%; + } + .img-lg-300 { + width: 300px; + } + .img-lg-220 { + width: 220px; + } + .img-lg-190 { + width: 190px; + } + .img-lg-160 { + width: 160px; + } + .img-lg-150 { + width: 150px; + } + .img-lg-140 { + width: 140px; + } + .img-lg-130 { + width: 130px; + } + .img-lg-120 { + width: 120px; + } + .img-lg-110 { + width: 110px; + } + .img-lg-100 { + width: 100px; + } + .img-lg-90 { + width: 90px; + } + .img-lg-80 { + width: 80px; + } + .img-lg-70 { + width: 70px; + } +} +@media (min-width: 1600px) { + .visible-lg { + display: block !important; + } + .hidden-lg { + display: none !important; + } + .visible-inline-lg { + display: inline-block !important; + } + .visible-text-lg { + visibility: visible !important; + } + .hidden-text-lg { + visibility: hidden !important; + } +} + +@media (max-width: 1199px) and (min-width: 1023px) { + .visible-md { + display: block !important; + } + .hidden-md { + display: none !important; + } + .visible-inline-md { + display: inline-block !important; + } + .visible-text-md { + visibility: visible !important; + } + .hidden-text-md { + visibility: hidden !important; + } +} + +@media (max-width: 1023px) and (min-width: 767px) { + .visible-sm { + display: block !important; + } + .hidden-sm { + display: none !important; + } + .visible-inline-sm { + display: inline-block !important; + } + .visible-text-sm { + visibility: visible !important; + } + .hidden-text-sm { + visibility: hidden !important; + } +} + +@media (max-width: 1023px) { + .dropdown-hover:hover .dropdown-box { + display: none; + } + /* panel-head */ + .ys-panel__head .more { + line-height: 35px; + } + .ys-panel__head.active { + height: 35px; + } + /* nav */ + .nav-head > li, + .nav-tabs > li { + margin-top: 8px; + margin-left: 15px; + } + .nav-tabs.active { + height: 35px; + overflow-x: scroll; + overflow-y: hidden; + white-space: nowrap; + -webkit-overflow-scrolling: touch; + } + .nav-tabs.active li { + display: inline-block; + float: none; + } + .nav-tabs > li .dropdown-box { + margin-left: -80px; + } + /* screen */ + .ys-screen__list { + overflow-y: hidden; + white-space: nowrap; + } + .ys-screen__list li { + display: inline-block; + float: none; + margin-bottom: 0; + } + .ys-screen__list li a.btn { + font-size: 12px; + white-space: nowrap; + } + /* vod-list */ + .ys-vodlist__detail .title.active { + margin-bottom: 0; + font-size: 14px; + } + /* play-list */ + .ys-content__playlist { + -webkit-overflow-scrolling: touch; + } + /* modal */ + .ys-modal__dialog { + width: 320px; + margin: 50px auto; + } +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + .hidden-xs { + display: none !important; + } + .visible-inline-xs { + display: inline-block !important; + } + .visible-text-xs { + visibility: visible !important; + } + .hidden-text-xs { + visibility: hidden !important; + } + /* all */ + body { + font-size: 12px; + line-height: 20px; + } + /* text */ + h1 { + font-size: 24px; + } + h2 { + font-size: 20px; + } + h3 { + font-size: 18px; + } + h4 { + font-size: 16px; + } + h5 { + font-size: 14px; + } + h6 { + font-size: 12px; + } + /* tabbar */ + .ys-nav__tabbar { + position: fixed; + bottom: 0; + z-index: 999; + display: -webkit-box; + display: -webkit-flex; + display: flex; + width: 100%; + padding: 5px 0 0; + border-top: 1px solid; + } + .ys-nav__tabbar .item { + display: block; + -webkit-flex: 1; + flex: 1; + text-align: center; + -webkit-box-flex: 1; + } + .ys-nav__tabbar .item .icon { + display: block; + font-size: 20px; + line-height: 20px; + text-align: center; + } + .ys-nav__tabbar .item .icon-img { + display: inline-block; + width: 24px; + height: 24px; + margin-top: 5px; + } + .ys-nav__tabbar .item .title { + margin: 5px 0; + font-size: 12px; + } + /* line */ + .split-line { + height: 12px; + margin-right: 5px; + margin-left: 5px; + } + .top-line:before, + .top-line-dot:before { + -webkit-transform: scaleY(0.5); + transform: scaleY(0.5); + -webkit-transform-origin: 0 0; + transform-origin: 0 0; + } + .bottom-line:after, + .bottom-line-dot:before { + -webkit-transform: scaleY(0.5); + transform: scaleY(0.5); + -webkit-transform-origin: 0 100%; + transform-origin: 0 100%; + } + /* panel-head */ + .ys-panel__head .title, + .ys-panel__head .title a { + font-size: 18px; + } + /* vod-list */ + .ys-vodlist__thumb .tag { + padding: 0 5px; + } + .ys-vodlist__thumb .silde-title { + font-size: 12px; + } + .ys-vodlist__detail .title, + .ys-vodlist__detail .title.active { + margin-bottom: 0; + font-size: 12px; + } + /* media-list */ + .ys-vodlist__media li .detail.active { + padding-right: 10px; + padding-left: 0; + } + /* text-list */ + .ys-vodlist__text li a { + padding: 10px 0; + } + .ys-vodlist__text.downlist li { + padding: 5px 0 0; + } + /* down-list */ + .ys-down__list li { + padding: 5px 0 10px; + } + .ys-down__list li .operate { + display: block; + float: none; + } + /* article */ + .ys-article__title { + font-size: 18px; + } + /* page */ + .ys-page li { + float: left; + width: 20%; + padding: 0 5px 0 5px; + margin: 0; + } + .ys-page li a { + display: block; + padding: 5px 0; + text-align: center; + } + /* extra */ + .ys-extra li { + padding: 8px 0 0; + } + .ys-extra li a { + width: 35px; + height: 35px; + font-size: 16px; + line-height: 35px; + } + /* flickity */ + .flickity-prev-next-button { + width: 20px; + height: 40px; + } + .flickity-prev-next-button.previous { + border-radius: 0 5px 5px 0; + } + .flickity-prev-next-button.next { + border-radius: 5px 0 0 5px; + } + /* slide */ + .carousel-control { + width: 30px; + height: 100%; + } + .carousel-control .fa { + display: block; + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 20px; + line-height: 30px; + } + .carousel-control.left { + left: 10px; + } + .carousel-control.right { + right: 10px; + } + /* more */ + .m-margin-0 { + margin: 0 !important; + } + .m-padding-0 { + padding: 0 !important; + } +} diff --git a/code/iibta/iibta-vue/src/styles/scss/global.scss b/code/iibta/iibta-vue/src/styles/scss/global.scss new file mode 100644 index 00000000..f4760ab2 --- /dev/null +++ b/code/iibta/iibta-vue/src/styles/scss/global.scss @@ -0,0 +1,4 @@ +// 通过完整层级穿透确保命中 +:deep(.arco-badge-dot) { + box-shadow: 0 0 0 0; +} \ No newline at end of file diff --git a/code/iibta/iibta-vue/src/types/auto-import.d.ts b/code/iibta/iibta-vue/src/types/auto-import.d.ts new file mode 100644 index 00000000..a99eb577 --- /dev/null +++ b/code/iibta/iibta-vue/src/types/auto-import.d.ts @@ -0,0 +1,15 @@ +/* eslint-disable */ +// @ts-nocheck +// Generated by unplugin-vue-components +// Read more: https://github.com/vuejs/core/pull/3399 +export {} + +/* prettier-ignore */ +declare module 'vue' { + export interface GlobalComponents { + AButton: typeof import('@arco-design/web-vue')['Button'] + RouterLink: typeof import('vue-router')['RouterLink'] + RouterView: typeof import('vue-router')['RouterView'] + SvgIcon: typeof import('./../components/svg-icon.vue')['default'] + } +} diff --git a/code/iibta/iibta-vue/src/types/enums.ts b/code/iibta/iibta-vue/src/types/enums.ts new file mode 100644 index 00000000..ebc5ed8f --- /dev/null +++ b/code/iibta/iibta-vue/src/types/enums.ts @@ -0,0 +1,12 @@ +export enum ResponseStatusEnum { + SUCCESS = 200, + ERROR = 500, + UNAUTHORIZED = 401, + RESOURCE_CREATED_SUCCESS = 201, + RESOURCE_CREATED_ERROR = 409, + } + + export enum ResponseStatusErrorMessageEnum { + NO_LOGIN = "尚未登录,请先登录!", + } + \ No newline at end of file diff --git a/code/iibta/iibta-vue/src/types/env.d.ts b/code/iibta/iibta-vue/src/types/env.d.ts new file mode 100644 index 00000000..eaef8a0c --- /dev/null +++ b/code/iibta/iibta-vue/src/types/env.d.ts @@ -0,0 +1,13 @@ +// src/env.d.ts +declare namespace Env { + interface ImportMeta extends ImportMetaEnv { + readonly VITE_BASE_URL: string; + readonly VITE_APP_TITLE: string; + readonly VITE_ICON_PREFIX: string; + readonly VITE_ICON_LOCAL_PREFIX: string; + readonly VITE_SERVER_BASEURL: string; + readonly VITE_UPLOAD_BASEURL: string; + readonly VITE_APP_PROXY: string; + readonly VITE_APP_PROXY_PREFIX: string; + } +} diff --git a/code/iibta/iibta-vue/src/types/global.d.ts b/code/iibta/iibta-vue/src/types/global.d.ts new file mode 100644 index 00000000..8e7e8a1c --- /dev/null +++ b/code/iibta/iibta-vue/src/types/global.d.ts @@ -0,0 +1,29 @@ +import { AdminStatusEnum } from "@/types/enums" + +declare global { + interface Window { + /** NProgress instance */ + NProgress?: import("nprogress").NProgress + // $message?: import("@arco-design/web-vue/es/Message/interface").MessageMethod; + } + + /** Build time of the project */ + const BUILD_TIME: string + + type IUserInfo = { + id: string + account?: string + email?: string + name?: string + token?: string + avatar?: string + } + + type IResData = { + code: number + message: string + data: T + } +} + +export {} // 确保 TypeScript 将此文件视为模块,防止全局污染 diff --git a/code/iibta/iibta-vue/src/types/request.d.ts b/code/iibta/iibta-vue/src/types/request.d.ts new file mode 100644 index 00000000..204ccd7a --- /dev/null +++ b/code/iibta/iibta-vue/src/types/request.d.ts @@ -0,0 +1,9 @@ +interface BasePageParams { + page: number; + pageSize: number; +} + +interface BasePageResult { + total: number; // 总条数 + record: T[]; // 当前页数据列表 +} diff --git a/code/iibta/iibta-vue/src/utils/JsonUtils.ts b/code/iibta/iibta-vue/src/utils/JsonUtils.ts new file mode 100644 index 00000000..038718fc --- /dev/null +++ b/code/iibta/iibta-vue/src/utils/JsonUtils.ts @@ -0,0 +1,16 @@ +export function toJson(obj: any): string { + try { + return JSON.stringify(obj); + } catch (error) { + console.error("JSON 转换失败", error); + return ""; + } +} +export function toObject(json: string): T | null { + try { + return JSON.parse(json) as T; + } catch (error) { + console.error("JSON 解析失败", error); + return null; + } +} diff --git a/code/iibta/iibta-vue/src/utils/file.ts b/code/iibta/iibta-vue/src/utils/file.ts new file mode 100644 index 00000000..6ca74d1f --- /dev/null +++ b/code/iibta/iibta-vue/src/utils/file.ts @@ -0,0 +1,157 @@ +import { getAliyunKeyApi, insertFileApi } from "@/service/file"; +import { Message } from "@arco-design/web-vue"; + +export interface UploadImageResponse { + name: string; + size: string; + url: string; + blob: Blob; +} + +export const uploadImage = ( + options: { + quality?: number; + mimeType?: string; + } = {} +): Promise => { + const { quality = 0.8, mimeType = "image/webp" } = options; + + return new Promise((resolve, reject) => { + if (typeof document === "undefined") { + reject(new Error("Require browser environment")); + return; + } + + const input = document.createElement("input"); + input.type = "file"; + input.accept = "image/*"; + input.style.display = "none"; + + const processImage = (file: File): Promise => { + return new Promise((resolve, reject) => { + const img = new Image(); + const objectURL = URL.createObjectURL(file); + + img.onload = () => { + try { + const canvas = document.createElement("canvas"); + const ctx = canvas.getContext("2d"); + if (!ctx) throw new Error("Canvas init failed"); + + canvas.width = img.width; + canvas.height = img.height; + ctx.drawImage(img, 0, 0, canvas.width, canvas.height); + + URL.revokeObjectURL(objectURL); + + canvas.toBlob( + (blob) => { + if (!blob) { + reject(new Error("Compression failed")); + return; + } + resolve({ name: file.name, size: blob.size.toString(), url: URL.createObjectURL(blob), blob: blob }); + }, + mimeType, + quality + ); + } catch (error) { + reject(error); + } + }; + + img.onerror = () => { + URL.revokeObjectURL(objectURL); + reject(new Error("Image load failed")); + }; + + img.src = objectURL; + }); + }; + + input.onchange = async (event) => { + const file = (event.target as HTMLInputElement).files?.[0]; + if (!file) { + reject(new Error("No file selected")); + return; + } + + try { + if (!file.type.startsWith("image/")) { + throw new Error("Invalid image file"); + } + + const result = await processImage(file); + resolve(result); + } catch (error) { + reject(error); + } finally { + document.body.removeChild(input); + } + }; + + document.body.appendChild(input); + input.click(); + }); +}; + +export interface UploadToAliyunResponse { + url: string; + fileName: string; + fileSize: string; +} + +export function uploadToAliyun(blob: Blob, fileName: string, fileSize: string): Promise { + return new Promise((resolve, reject) => { + getAliyunKeyApi() + .then(async (res) => { + try { + const aliyunKey = res.data; + const formData = new FormData(); + + // 生成唯一文件名(保留原始后缀) + const fileExt = fileName.includes(".") ? fileName.slice(fileName.lastIndexOf(".")) : ""; + const uniqueName = `sl_${Date.now()}_${Math.random().toString(36).slice(2)}${fileExt}`; + + // 构造表单数据 + formData.append("key", `${aliyunKey.dir}${uniqueName}`); + formData.append("OSSAccessKeyId", aliyunKey.accessid); + formData.append("policy", aliyunKey.policy); + formData.append("Signature", aliyunKey.signature); + formData.append("file", blob, uniqueName); + + // 执行上传 + const response = await fetch(aliyunKey.host, { + method: "POST", + body: formData + }); + + if (!response.ok) { + const errorText = await response.text(); + throw new Error(`OSS响应错误: ${errorText}`); + } + + // 获取完整文件路径 + const allFilePath = `${aliyunKey.host}/${aliyunKey.dir}${uniqueName}`; + + // 调用插入记录接口 + await insertFileApi({ + fileName, + fileSize, + fileMapName: allFilePath + }); + + // 返回标准化结果 + resolve({ + url: allFilePath, + fileName, + fileSize + }); + } catch (error) { + Message.error("文件上传流程失败"); + reject(error); + } + }) + .catch(reject); // 捕获获取凭证失败的错误 + }); +} diff --git a/code/iibta/iibta-vue/src/utils/http.ts b/code/iibta/iibta-vue/src/utils/http.ts new file mode 100644 index 00000000..ccbef646 --- /dev/null +++ b/code/iibta/iibta-vue/src/utils/http.ts @@ -0,0 +1,21 @@ +import axiosInstance from "@/interceptors/http"; + + +export function httpGet(url: string, params?: Record): Promise> { + return axiosInstance.get(url, { params }); +} +export function httpPostJson(url: string, data?: Record): Promise> { + return axiosInstance.post(url, data, { + headers: { + "Content-Type": "application/json" + } + }); +} + +export function httpPostForm(url: string, data?: any): Promise> { + return axiosInstance.post(url, data, { + headers: { + "Content-Type": "application/x-www-form-urlencoded" + } + }); +} diff --git a/code/iibta/iibta-vue/tsconfig.json b/code/iibta/iibta-vue/tsconfig.json new file mode 100644 index 00000000..b21a8146 --- /dev/null +++ b/code/iibta/iibta-vue/tsconfig.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "target": "ESNext", + "jsx": "preserve", + "jsxImportSource": "vue", + "lib": ["DOM", "ESNext"], + "baseUrl": ".", + "module": "ESNext", + "moduleResolution": "node", + "paths": { + "@/*": ["./src/*"], + "~/*": ["./*"] + }, + "resolveJsonModule": true, + "types": ["vite/client", "node", "unplugin-icons/types/vue"], + "strict": true, + "strictNullChecks": true, + "noUnusedLocals": false, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true + }, + "include": ["./**/*.ts", "./**/*.tsx", "./**/*.vue"], + "exclude": ["node_modules", "dist"] +} diff --git a/code/iibta/iibta-vue/uno.config.ts b/code/iibta/iibta-vue/uno.config.ts new file mode 100644 index 00000000..d2f78766 --- /dev/null +++ b/code/iibta/iibta-vue/uno.config.ts @@ -0,0 +1,17 @@ +import { defineConfig } from "@unocss/vite"; +import transformerDirectives from "@unocss/transformer-directives"; +import transformerVariantGroup from "@unocss/transformer-variant-group"; +import presetUno from "@unocss/preset-uno"; +import type { Theme } from "@unocss/preset-uno"; +export default defineConfig({ + content: { + pipeline: { + exclude: ["node_modules", "dist"] + } + }, + rules: [], + theme: {}, + shortcuts: {}, + transformers: [transformerDirectives(), transformerVariantGroup()], + presets: [presetUno({ dark: "class" })] +}); diff --git a/code/iibta/iibta-vue/vite.config.ts b/code/iibta/iibta-vue/vite.config.ts new file mode 100644 index 00000000..d91e5b96 --- /dev/null +++ b/code/iibta/iibta-vue/vite.config.ts @@ -0,0 +1,59 @@ +import { URL, fileURLToPath } from "node:url"; +import process from "node:process"; +import { defineConfig, loadEnv } from "vite"; +import { setupVitePlugins } from "./build/plugins/index"; +import { getBuildTime } from "./build/config"; + +export default defineConfig((configEnv) => { + const viteEnv = loadEnv(configEnv.mode, process.cwd()) as unknown as Env.ImportMeta; + const { VITE_SERVER_BASEURL, VITE_APP_PROXY, VITE_APP_PROXY_PREFIX } = viteEnv; + const buildTime = getBuildTime(); + + return { + base: viteEnv.VITE_BASE_URL, + resolve: { + // 使其通过能 ~ 或 @ 导入 + alias: { + "~": fileURLToPath(new URL("./", import.meta.url)), + "@": fileURLToPath(new URL("./src", import.meta.url)) + } + }, + css: { + preprocessorOptions: { + scss: { + api: "modern-compiler", + additionalData: `@use "@/styles/scss/global.scss" as *;` + } + } + }, + plugins: setupVitePlugins(viteEnv, buildTime), + // + define: { + BUILD_TIME: JSON.stringify(buildTime) + }, + server: { + host: "0.0.0.0", + port: 8080, + open: true, + // 用于配置开发服务器启动时预加载的一些客户端文件,以提高初次加载的速度。 + warmup: { + clientFiles: ["./index.html", "./src/{pages,components}/*"] + }, + proxy: + VITE_APP_PROXY === "Y" + ? { + [VITE_APP_PROXY_PREFIX]: { + target: VITE_SERVER_BASEURL, + changeOrigin: true, // 跨域 + rewrite: (path) => path.replace(/^\/api/, "") //路径重写,把'/api'替换为'' + // rewrite: (path) => path.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), "") + } + } + : undefined + }, + // 用于生产环境,可以使用vite preview预览构建后的应用 pnpm run preview + preview: { + port: 9725 + } + }; +});