├── .gitignore ├── index.js ├── frontend ├── img │ ├── logo.png │ └── favicon.ico ├── js │ ├── md5.min.js │ ├── index.js │ ├── axios.js │ └── vue3.js ├── index.html └── css │ └── index.css ├── .eslintrc.js ├── schema └── loginschema.js ├── router └── api.js ├── package.json ├── app.js ├── README.md └── router-handler └── api.js /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | require('./app.js') 2 | -------------------------------------------------------------------------------- /frontend/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zakiaatot/163musictools/HEAD/frontend/img/logo.png -------------------------------------------------------------------------------- /frontend/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Zakiaatot/163musictools/HEAD/frontend/img/favicon.ico -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | browser: true, 4 | commonjs: true, 5 | es2021: true 6 | }, 7 | extends: 'standard', 8 | overrides: [ 9 | ], 10 | parserOptions: { 11 | ecmaVersion: 'latest' 12 | }, 13 | rules: { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /schema/loginschema.js: -------------------------------------------------------------------------------- 1 | const { Joi } = require('express-validation') 2 | 3 | // 注册和登录表单的验证规则对象 4 | exports.loginschema = { 5 | body: Joi.object({ 6 | phone: 7 | Joi.string() 8 | .regex(/[0-9]{7,11}/), // 手机号是7到11位的数字 9 | password: 10 | Joi.string() 11 | .regex(/.{32,32}/), 12 | countrycode: 13 | Joi.string() 14 | .regex(/[0-9]{1,3}/) 15 | }) 16 | } 17 | -------------------------------------------------------------------------------- /router/api.js: -------------------------------------------------------------------------------- 1 | const express = require('express') 2 | const ev = require('express-validation') 3 | const router = express.Router() 4 | const apiHandler = require('../router-handler/api') 5 | const { loginschema } = require('../schema/loginschema') 6 | 7 | router.post('/login', ev.validate(loginschema, {}, {}), apiHandler.login) 8 | router.post('/logout', apiHandler.logout) 9 | router.post('/checklog', apiHandler.checklog) 10 | router.post('/checkinfo', apiHandler.checkinfo) 11 | router.post('/signin', apiHandler.signin) 12 | router.post('/daka', apiHandler.daka) 13 | router.post('/dakaprogress', apiHandler.dakaprogress) 14 | router.post('/getversion', apiHandler.getversion) 15 | router.post('*', apiHandler.noFound) 16 | 17 | module.exports = router 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "163musictools", 3 | "version": "1.1.7", 4 | "description": "网易云音乐一键签到 打卡 300首 小工具", 5 | "type": "commonjs", 6 | "main": "index.js", 7 | "scripts": { 8 | "start": "node index.js", 9 | "dev": "nodemon index.js" 10 | }, 11 | "keywords": [ 12 | "neteasemusic", 13 | "163", 14 | "网易云", 15 | "签到", 16 | "打卡", 17 | "300首" 18 | ], 19 | "author": "zakiaatot", 20 | "license": "ISC", 21 | "dependencies": { 22 | "cors": "^2.8.5", 23 | "ejs": "^3.1.8", 24 | "express": "^4.18.1", 25 | "express-session": "^1.17.3", 26 | "express-validation": "^4.1.0", 27 | "NeteaseCloudMusicApi": "^4.6.7" 28 | }, 29 | "devDependencies": { 30 | "eslint": "^8.22.0", 31 | "eslint-config-standard": "^17.0.0", 32 | "eslint-plugin-import": "^2.26.0", 33 | "eslint-plugin-n": "^15.2.4", 34 | "eslint-plugin-promise": "^6.0.0" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /app.js: -------------------------------------------------------------------------------- 1 | const express = require('express') 2 | const cors = require('cors') 3 | const ejs = require('ejs') 4 | const session = require('express-session') 5 | const ev = require('express-validation') 6 | const path = require('path') 7 | const fs = require('fs') 8 | const apiRouter = require('./router/api') 9 | 10 | const app = express() 11 | 12 | // 渲染模板 13 | app.engine('html', ejs.renderFile) 14 | app.set('views', path.join(__dirname, '/fronted')) 15 | app.set('view engine', 'html') 16 | 17 | // 跨域处理,分离前后端 18 | app.use(cors()) 19 | 20 | app.use(express.urlencoded({ extended: false }))// x-www-form-urlencoded 21 | app.use(express.json())// json 22 | const secretkey = 'zakiaatot' 23 | app.use(session({ 24 | name: 'zakiaatot', 25 | secret: secretkey, 26 | resave: false, 27 | saveUninitialized: true, 28 | cookie: { 29 | maxAge: 1000 * 1200, // 过期时间 30 | secure: false 31 | } 32 | }))// session设置 33 | app.use((req, res, next) => { 34 | res.error = function (err) { 35 | res.json({ 36 | status: 0, 37 | msg: err instanceof Error ? err.message : err 38 | }) 39 | } 40 | res.success = function (msg) { 41 | res.json({ 42 | status: 1, 43 | msg 44 | }) 45 | } 46 | next() 47 | })// 自定义中间件 48 | 49 | // 静态资源挂载 50 | app.use('/', express.static(path.join(__dirname, '/frontend'))) 51 | 52 | // 路由 53 | app.use('/', apiRouter) 54 | app.get('/', (req, res) => { 55 | return res.sendFile('index') 56 | }) 57 | app.get('*', (req, res) => { 58 | return res.error({ 59 | code: 404, 60 | msg: 'Not Found' 61 | }) 62 | }) 63 | 64 | app.use(function (err, req, res, next) { 65 | // 数据验证失败 66 | if (err instanceof ev.ValidationError) { 67 | return res.error({ 68 | code: 400, 69 | msg: '数据输入格式错误' 70 | }) 71 | } 72 | // 未知错误 73 | if (err) return res.error(err) 74 | return res.error({ 75 | code: 404, 76 | msg: 'Not Found' 77 | }) 78 | }) 79 | 80 | app.listen(9002, () => { 81 | console.log('Running in \nhttp://localhost:9002') 82 | // 全局变量用于实现返回打卡任务的实时进度 83 | global.progess = {} 84 | const file = path.join(__dirname, 'package.json') 85 | // 获取版本信息 86 | fs.readFile(file, 'utf-8', (err, data) => { 87 | if (err) { 88 | global.progess.version = 'unknow' 89 | } else { 90 | global.progess.version = JSON.parse(data).version 91 | console.log('Version:' + global.progess.version) 92 | } 93 | }) 94 | }) 95 | // 启动 96 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # **163MusicTools** 2 | 网易云音乐 一键签到 打卡 300首歌 小工具 3 | 4 | 菜鸡coder的express+vue3入门demo 5 | 6 | 助力每个云村村民的v10梦 7 | 8 |

觉得好用就帮忙点颗免费的 star 吧,您的鼓励将是我继续前进的动力

9 | GitHub Repo stars

10 | 11 | 12 |

13 | npm 14 | GitHub package.json version (subfolder of monorepo) 15 |

16 | 17 | 18 | ## **一、灵感来源** 19 | 20 | 21 | ## [Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) 22 | 23 | 24 | ## **二、展示及技术栈** 25 | [国内服务器部署的Demo地址](http://124.71.23.192:9001/) 26 | 27 | 28 | 29 | 30 | 简单的交互UI,使用 [Element-plus](https://github.com/element-plus/element-plus),由于是SPA,故采用直接引入式Vue,更多细节请看 [Demo地址](http://124.71.23.192:9001/),总体来讲 nodejs+express+vue3+elementplus 31 | 32 | 登录页: 33 | ![登录页](http://BOILEDDOG.TOP/public/login.png) 34 | 35 | 首页: 36 | ![首页](http://BOILEDDOG.TOP/public/index.png) 37 | 38 | 打卡: 39 | ![打卡](http://BOILEDDOG.TOP/public/daka.png) 40 | 41 | 42 | 43 | ## **三、使用前须知** 44 | 45 | `1.不要经常登录,登出容易账号异常` 46 | 47 | 48 | `2.刷的歌会不会影响我的大数据推荐?` 49 | 50 | `理论上不会,因为刷的歌是从你的推荐歌单筛选出来的` 51 | 52 | `3.打卡明明显示听了350首歌但是听歌量只加了一点点?` 53 | 54 | `因为刷的歌里有你以前听过的歌,不算入听歌量,建议一天点打卡2-3次即可,多了容易账号异常` 55 | 56 | 57 | 58 | ## **四、使用** 59 | 60 | 61 | 62 | ### **1.安装** 63 | 64 | **github:** 65 | 66 | ```shell 67 | $ git clone https://github.com/Zakiaatot/163musictools 68 | $ cd 163musictools 69 | $ npm install 70 | ``` 71 | 或者 72 | 73 | ```shell 74 | $ git clone git@github.com:Zakiaatot/163musictools.git 75 | $ cd 163musictools 76 | $ npm install 77 | ``` 78 | 79 | **npm:** 80 | ```shell 81 | $ npm i 163musictools 82 | ``` 83 | 84 | 85 | ### **2.运行** 86 | 87 | ```shell 88 | $ npm run start 89 | ``` 90 | 接下来访问 91 | 92 | 93 | http://localhost:9002 94 | 95 | 96 | 即可愉快的打卡了 97 | 默认`9002`端口 98 | 需要更改请至`app.js`中更改 99 | 100 | 101 | 若是开发者调试推荐使用`nodemon` 102 | ```shell 103 | $ npm i nodemon 104 | $ npm run dev 105 | ``` 106 | 107 | ## **五、部署** 108 | 略 109 | 110 | 鄙人采用宝塔可一键部署node项目 111 | 112 | 实际上是个前后端分离项目,只是为了方便调试才一起写在express里了,如有需求请自行分离部署 113 | 114 | ### **`建议:`** 115 | 如没需求建议本地运行或者部署至国内服务器,国外服务器可能延迟高 116 | 117 | 118 | [这是国外服务器部署实例](https://163.boileddog.top/) 119 | 120 | 121 | 122 | ## **六、免责声明** 123 | 124 | 所有资源及想法均来自网上的开源项目,鄙人只不过是做了个整合,由此项目产生的所有纠纷与本人无关 125 | 126 | ## **七、后续展望** 127 | 128 | 本人只是个小小技术菜鸟,但有着肯学习的精神,虽说现在的代码可能是一堆屎山,我愿意不断改进,欢迎你们的issue 129 | 130 | 对本项目我的后期展望是: 131 | 132 | 133 | 1.丰富更多功能,如云贝签到,刷单首歌的播放次数 134 | 2.不断优化改进我的前端界面 135 | 3.后端也不断优化,提高执行效率 136 | 4.下一步应该是托管任务系统,一个每日自动打卡并且提醒成功与否的功能平台。。。。。 -------------------------------------------------------------------------------- /frontend/js/md5.min.js: -------------------------------------------------------------------------------- 1 | !function(n){"use strict";function d(n,t){var r=(65535&n)+(65535&t);return(n>>16)+(t>>16)+(r>>16)<<16|65535&r}function f(n,t,r,e,o,u){return d((u=d(d(t,n),d(e,u)))<>>32-o,r)}function l(n,t,r,e,o,u,c){return f(t&r|~t&e,n,t,o,u,c)}function g(n,t,r,e,o,u,c){return f(t&e|r&~e,n,t,o,u,c)}function v(n,t,r,e,o,u,c){return f(t^r^e,n,t,o,u,c)}function m(n,t,r,e,o,u,c){return f(r^(t|~e),n,t,o,u,c)}function c(n,t){var r,e,o,u;n[t>>5]|=128<>>9<<4)]=t;for(var c=1732584193,f=-271733879,i=-1732584194,a=271733878,h=0;h>5]>>>e%32&255);return t}function a(n){var t=[];for(t[(n.length>>2)-1]=void 0,e=0;e>5]|=(255&n.charCodeAt(e/8))<>>4&15)+r.charAt(15&t);return e}function r(n){return unescape(encodeURIComponent(n))}function o(n){return i(c(a(n=r(n)),8*n.length))}function u(n,t){return function(n,t){var r,e=a(n),o=[],u=[];for(o[15]=u[15]=void 0,16 2 | 3 | 4 | 5 | 6 | 7 | 163Musictools 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |
17 | avatar 18 |
19 |
20 | 21 | 22 |
23 |
24 |

用户昵称

25 |
等级
26 |
签名
27 |
28 |
升级还需
29 |
播放量:
30 |
登录天数:
31 |
32 | 33 |
34 | 35 |
36 |
37 | 38 | 39 | 40 |
41 | 42 | 签到 43 | 打卡 44 | 45 |
46 | 退出登录 47 |
Version:unknow
48 |
2022
49 |
@zakiaatot
50 |
GitHub Repo stars
51 |
52 |
53 |
54 | 55 | 89 | 90 |
91 | 92 |
93 |
94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /router-handler/api.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable camelcase */ 2 | const { login_cellphone, logout, user_level, daily_signin, personalized, playlist_detail, scrobble } = require('NeteaseCloudMusicApi') 3 | 4 | exports.login = async (req, res) => { 5 | if (!req.session.cookiedata || req.session.isLogin === false) { 6 | const data = req.body 7 | if (!data.phone || !data.password) { 8 | return res.error({ 9 | code: 400, 10 | msg: '账号或密码为空' 11 | }) 12 | } 13 | try { 14 | const result = await login_cellphone({ 15 | phone: data.phone, 16 | md5_password: data.password, 17 | countrycode: data.countrycode || 86 18 | }) 19 | if (result.body.code !== 200) return res.error(result.body) 20 | req.session.isLogin = true 21 | const result1 = await user_level({ 22 | cookie: result.body.cookie 23 | }) 24 | if (result1.body.code !== 200) return res.error(result.body) 25 | req.session.cookiedata = result.body.cookie 26 | req.session.userdata = { 27 | id: result.body.profile.userId, 28 | nickname: result.body.profile.nickname, 29 | avatarUrl: result.body.profile.avatarUrl, 30 | signature: result.body.profile.signature, 31 | playcount: result1.body.data.nextPlayCount - result1.body.data.nowPlayCount, 32 | logincount: result1.body.data.nextLoginCount - result1.body.data.nowLoginCount, 33 | level: result1.body.data.level 34 | } 35 | return res.success({ 36 | code: 200, 37 | msg: '登录成功(切勿短时间重复登陆,容易账号异常)' 38 | }) 39 | } catch (error) { 40 | console.log(error) 41 | return res.error(error.body.message ? error.body.message : '未知错误') 42 | } 43 | } 44 | return res.error({ 45 | code: 500, 46 | msg: '你已经登陆过了,请手动注销登录或手动清除cookie(切勿短时间重复登陆,容易账号异常)' 47 | }) 48 | } 49 | 50 | exports.logout = async (req, res) => { 51 | if (req.session.isLogin === true) { 52 | try { 53 | const lout = await logout({ 54 | cookie: req.session.cookiedata 55 | }) 56 | if (lout.body.code !== 200) { 57 | return res.error({ 58 | code: 500, 59 | msg: '登出失败(请稍后重试)' 60 | }) 61 | } 62 | } catch (err) { 63 | return res.error({ 64 | code: 500, 65 | msg: err.body ? err.body : err 66 | }) 67 | } 68 | res.clearCookie('zakiaatot') 69 | return res.success({ 70 | code: 200, 71 | msg: '成功退出登录' 72 | }) 73 | } 74 | return res.error({ 75 | code: 500, 76 | msg: '你还没登陆,请登录' 77 | }) 78 | } 79 | 80 | exports.checklog = (req, res) => { 81 | if (req.session.isLogin === true) { 82 | return res.success({ 83 | code: 200, 84 | msg: '登录状态' 85 | }) 86 | } 87 | return res.success({ 88 | code: 200, 89 | msg: '未登录状态' 90 | }) 91 | } 92 | 93 | exports.checkinfo = (req, res) => { 94 | if (req.session.isLogin === true) { 95 | return res.success({ 96 | code: 200, 97 | msg: req.session 98 | }) 99 | } 100 | return res.error({ 101 | code: 500, 102 | msg: '你还没登陆,请登录' 103 | }) 104 | } 105 | 106 | exports.signin = async (req, res) => { 107 | if (req.session.isLogin === true) { 108 | try { 109 | const result = await daily_signin({ 110 | cookie: req.session.cookiedata 111 | }) 112 | if (result.body.code === 200) { 113 | return res.success({ 114 | code: 200, 115 | msg: { 116 | msg: '签到成功', 117 | point: result.body.point 118 | } 119 | }) 120 | } 121 | if (result.body.code === -2) { 122 | return res.error({ 123 | code: -2, 124 | msg: '请勿重复签到' 125 | }) 126 | } 127 | return res.error({ 128 | code: 500, 129 | msg: '未知错误,稍后再试' 130 | }) 131 | } catch (err) { 132 | return res.error({ 133 | code: 500, 134 | msg: err.body 135 | }) 136 | } 137 | } 138 | return res.error({ 139 | code: 500, 140 | msg: '你还没登陆,请登录' 141 | }) 142 | } 143 | 144 | exports.daka = async (req, res) => { 145 | if (req.session.userdata && global.progess[req.session.userdata.id]) { 146 | return res.error({ 147 | code: 500, 148 | msg: '请等待上一个任务结束' 149 | }) 150 | } else if (req.session.isLogin === true) { 151 | try { 152 | const result1 = await personalized({ 153 | limit: 350, 154 | cookie: req.session.cookiedata 155 | }) 156 | if (result1.body.code !== 200) { 157 | return res.error({ 158 | code: 500, 159 | msg: '推荐歌单获取失败' 160 | }) 161 | } 162 | let count = 0 163 | const id = req.session.userdata.id 164 | 165 | for (const i in result1.body.result) { 166 | const listid = result1.body.result[i].id 167 | const result2 = await playlist_detail({ 168 | id: listid, 169 | cookie: req.session.cookiedata 170 | }) 171 | if (result2.body.code === 200) { 172 | for (let j = 0, len = result2.body.playlist.tracks.length; j < len; ++j) { 173 | const result3 = await scrobble({ 174 | id: result2.body.playlist.tracks[j].id, 175 | sourceid: listid, 176 | time: 61, 177 | cookie: req.session.cookiedata 178 | }) 179 | 180 | if (result3.body.code === 200) { 181 | ++count 182 | global.progess[id] = count 183 | } 184 | } 185 | } 186 | 187 | if (count > 350) break 188 | } 189 | 190 | const result = await user_level({ 191 | cookie: req.session.cookiedata, 192 | timestamp: Date.now() 193 | }) 194 | if (result.body.code === 200) { 195 | req.session.userdata.playcount = result.body.data.nextPlayCount - result.body.data.nowPlayCount 196 | } 197 | delete global.progess[id] 198 | 199 | if (count >= 350) { 200 | return res.success({ 201 | code: 200, 202 | count 203 | }) 204 | } 205 | return res.error({ 206 | code: 500, 207 | msg: '未知错误,稍后重试' 208 | }) 209 | } catch (err) { 210 | console.log(err) 211 | return res.error({ 212 | code: 500, 213 | msg: err.body ? err.body : err 214 | }) 215 | } 216 | } 217 | return res.error({ 218 | code: 500, 219 | msg: '你还没登陆,请登录' 220 | }) 221 | } 222 | 223 | exports.dakaprogress = (req, res) => { 224 | if (req.session.isLogin !== true) { 225 | return res.error({ 226 | code: 500, 227 | msg: '你还没登陆,请登录' 228 | }) 229 | } 230 | if (!global.progess[req.session.userdata.id]) { 231 | return res.error({ 232 | code: 500, 233 | msg: '请先开始打卡任务' 234 | }) 235 | } 236 | return res.success({ 237 | code: 200, 238 | count: global.progess[req.session.userdata.id] 239 | }) 240 | } 241 | 242 | exports.getversion = (req, res) => { 243 | res.success({ 244 | code: 200, 245 | msg: global.progess.version 246 | }) 247 | } 248 | 249 | exports.noFound = (req, res) => { 250 | return res.error({ 251 | code: 404, 252 | msg: 'Not Found' 253 | }) 254 | } 255 | -------------------------------------------------------------------------------- /frontend/css/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | background-color: #fbfbfb; 4 | text-align: center; 5 | } 6 | 7 | .mystyle { 8 | /* variables */ 9 | --color-primary: #44a0b3; 10 | --color-grey: rgba(68, 160, 179, .06); 11 | --color-dark: rgba(68, 160, 179, .5); 12 | --color-semidark: rgba(68, 160, 179, .5); 13 | 14 | text-align: center; 15 | margin: 30px 0 0 0; 16 | font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; 17 | font-size: 14px; 18 | } 19 | 20 | .mystyle .mystyle-wrapper { 21 | -webkit-transition: all 1s; 22 | -o-transition: all 1s; 23 | transition: all 1s; 24 | -webkit-perspective: 1000px; 25 | perspective: 1000px; 26 | position: relative; 27 | height: 100%; 28 | width: 360px; 29 | margin: 0 auto; 30 | } 31 | 32 | .mystyle.mystyle-red { 33 | --color-primary: #ff6464; 34 | --color-grey: rgba(255, 100, 100, .06); 35 | --color-dark: rgba(255, 100, 100, .8); 36 | --color-semidark: rgba(255, 100, 100, .55); 37 | } 38 | 39 | .text-foot div{ 40 | margin-bottom: 5px !important; 41 | } 42 | 43 | .mystyle * { 44 | -webkit-box-sizing: border-box; 45 | box-sizing: border-box; 46 | } 47 | 48 | .mystyle .mystyle-brand { 49 | overflow: hidden; 50 | width: 100px; 51 | height: 100px; 52 | margin: 0 auto -50px auto; 53 | border-radius: 50%; 54 | -webkit-box-shadow: 0 4px 40px rgba(0, 0, 0, .07); 55 | box-shadow: 0 4px 40px rgba(0, 0, 0, .07); 56 | background-color: #fff; 57 | z-index: 1; 58 | position: relative; 59 | } 60 | 61 | .mystyle .mystyle-brand img { 62 | width: 100%; 63 | } 64 | 65 | .avatar{ 66 | width: 100%; 67 | height: 100%; 68 | border-radius: 100%; 69 | align-items: center; 70 | justify-content: center; 71 | display: flex; 72 | overflow: hidden; 73 | } 74 | 75 | 76 | 77 | .mystyle .mystyle-box { 78 | width: 100%; 79 | position: absolute; 80 | left: 0; 81 | } 82 | 83 | .mystyle .mystyle-box-inner { 84 | background-color: #fff; 85 | -webkit-box-shadow: 0 7px 25px rgba(0, 0, 0, .08); 86 | box-shadow: 0 7px 25px rgba(0, 0, 0, .08); 87 | padding: 60px 25px 25px 25px; 88 | text-align: left; 89 | border-radius: 3px; 90 | } 91 | 92 | .mystyle .mystyle-box::after { 93 | content: ' '; 94 | -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, .1); 95 | box-shadow: 0 0 25px rgba(0, 0, 0, .1); 96 | -webkit-transform: translate(0, -92.6%) scale(.88); 97 | -ms-transform: translate(0, -92.6%) scale(.88); 98 | transform: translate(0, -92.6%) scale(.88); 99 | border-radius: 3px; 100 | position: absolute; 101 | top: 100%; 102 | left: 0; 103 | width: 100%; 104 | height: 100%; 105 | background-color: #fff; 106 | z-index: -1; 107 | } 108 | 109 | .mystyle .mystyle-box.mystyle-flip { 110 | -webkit-transform: rotate3d(0, 1, 0, -180deg); 111 | transform: rotate3d(0, 1, 0, -180deg); 112 | display: none; 113 | opacity: 0; 114 | } 115 | 116 | .mystyle .mystyle-box p { 117 | color: var(--color-semidark); 118 | font-weight: 700; 119 | margin-bottom: 20px; 120 | text-align: center; 121 | } 122 | 123 | .mystyle .mystyle-box .mystyle-group { 124 | margin-bottom: 30px; 125 | } 126 | 127 | .mystyle .mystyle-box label { 128 | margin-bottom: 5px; 129 | display: inline-block; 130 | width: 100%; 131 | color: var(--color-semidark); 132 | font-weight: 700; 133 | } 134 | 135 | .mystyle .mystyle-box label a { 136 | float: right; 137 | } 138 | 139 | .mystyle .mystyle-box .mystyle-input { 140 | background-color: var(--color-grey); 141 | color: var(--color-dark); 142 | border: none; 143 | border-radius: 3px; 144 | padding: 15px 20px; 145 | width: 100%; 146 | outline: 0; 147 | } 148 | 149 | .elmbtn{ 150 | width: 100%; 151 | min-height: 50px; 152 | margin: 5px auto; 153 | color: #fff !important; 154 | margin: 5px auto !important; 155 | padding: 15px !important; 156 | border-radius: 3px !important; 157 | font-weight: 700 !important; 158 | } 159 | 160 | 161 | 162 | .mystyle .text-foot { 163 | text-align: center; 164 | padding: 10px; 165 | font-weight: 700; 166 | margin-top: 20px; 167 | color: var(--color-semidark); 168 | } 169 | 170 | 171 | 172 | 173 | 174 | /* animation */ 175 | .mystyle .mystyle-box.mystyle-animated { 176 | -webkit-animation-name: mystyleAnimated; 177 | animation-name: mystyleAnimated; 178 | -webkit-animation-duration: 1s; 179 | animation-duration: 1s; 180 | -webkit-animation-fill-mode: forwards; 181 | animation-fill-mode: forwards; 182 | -webkit-animation-timing-function: ease-in-out; 183 | animation-timing-function: ease-in-out; 184 | } 185 | 186 | .mystyle .mystyle-box.mystyle-animatedback { 187 | -webkit-animation-name: mystyleAnimatedBack; 188 | animation-name: mystyleAnimatedBack; 189 | -webkit-animation-duration: 1s; 190 | animation-duration: 1s; 191 | -webkit-animation-fill-mode: forwards; 192 | animation-fill-mode: forwards; 193 | -webkit-animation-timing-function: ease-in-out; 194 | animation-timing-function: ease-in-out; 195 | } 196 | 197 | .mystyle .mystyle-box.mystyle-animated-flip { 198 | -webkit-animation-name: mystyleAnimatedFlip; 199 | animation-name: mystyleAnimatedFlip; 200 | -webkit-animation-duration: 1s; 201 | animation-duration: 1s; 202 | -webkit-animation-fill-mode: forwards; 203 | animation-fill-mode: forwards; 204 | -webkit-animation-timing-function: ease-in-out; 205 | animation-timing-function: ease-in-out; 206 | } 207 | 208 | .mystyle .mystyle-box.mystyle-animated-flipback { 209 | -webkit-animation-name: mystyleAnimatedFlipBack; 210 | animation-name: mystyleAnimatedFlipBack; 211 | -webkit-animation-duration: 1s; 212 | animation-duration: 1s; 213 | -webkit-animation-fill-mode: forwards; 214 | animation-fill-mode: forwards; 215 | -webkit-animation-timing-function: ease-in-out; 216 | animation-timing-function: ease-in-out; 217 | } 218 | 219 | .mystyle .mystyle-brand.mystyle-animated { 220 | -webkit-animation-name: mystyleBrandAnimated; 221 | animation-name: mystyleBrandAnimated; 222 | -webkit-animation-duration: 1s; 223 | animation-duration: 1s; 224 | -webkit-animation-fill-mode: forwards; 225 | animation-fill-mode: forwards; 226 | -webkit-animation-timing-function: ease-in-out; 227 | animation-timing-function: ease-in-out; 228 | } 229 | 230 | .mystyle .mystyle-group.password-group { 231 | -webkit-transition: all 1s; 232 | -o-transition: all 1s; 233 | transition: all 1s; 234 | } 235 | 236 | .mystyle .mystyle-group.password-group.mystyle-animated { 237 | -webkit-animation-name: mystylePasswordAnimated; 238 | animation-name: mystylePasswordAnimated; 239 | -webkit-animation-duration: 1s; 240 | animation-duration: 1s; 241 | -webkit-animation-fill-mode: forwards; 242 | animation-fill-mode: forwards; 243 | -webkit-animation-timing-function: ease-in-out; 244 | animation-timing-function: ease-in-out; 245 | -webkit-transform-origin: 0 0; 246 | -ms-transform-origin: 0 0; 247 | transform-origin: 0 0; 248 | } 249 | 250 | .mystyle .mystyle-group.password-group.mystyle-animated-back { 251 | -webkit-animation-name: mystylePasswordAnimatedBack; 252 | animation-name: mystylePasswordAnimatedBack; 253 | -webkit-animation-duration: 1s; 254 | animation-duration: 1s; 255 | -webkit-animation-fill-mode: forwards; 256 | animation-fill-mode: forwards; 257 | -webkit-animation-timing-function: ease-in-out; 258 | animation-timing-function: ease-in-out; 259 | -webkit-transform-origin: 0 0; 260 | -ms-transform-origin: 0 0; 261 | transform-origin: 0 0; 262 | } 263 | 264 | /* keyframes */ 265 | @-webkit-keyframes mystyleAnimated { 266 | 0% { 267 | -webkit-transform: rotate3d(0); 268 | transform: rotate3d(0); 269 | } 270 | 99% { 271 | opacity: 1; 272 | } 273 | 100% { 274 | opacity: 0; 275 | -webkit-transform: rotate3d(0, 1, 0, 180deg); 276 | transform: rotate3d(0, 1, 0, 180deg); 277 | } 278 | } 279 | @keyframes mystyleAnimated { 280 | 0% { 281 | -webkit-transform: rotate3d(0); 282 | transform: rotate3d(0); 283 | } 284 | 99% { 285 | opacity: 1; 286 | } 287 | 100% { 288 | opacity: 0; 289 | -webkit-transform: rotate3d(0, 1, 0, 180deg); 290 | transform: rotate3d(0, 1, 0, 180deg); 291 | } 292 | } 293 | 294 | @-webkit-keyframes mystyleAnimatedBack { 295 | 0% { 296 | opacity: 0; 297 | -webkit-transform: rotate3d(0, 1, 0, 180deg); 298 | transform: rotate3d(0, 1, 0, 180deg); 299 | } 300 | 99% { 301 | opacity: 1; 302 | } 303 | 100% { 304 | opacity: 1; 305 | -webkit-transform: rotate3d(0); 306 | transform: rotate3d(0); 307 | } 308 | } 309 | 310 | @keyframes mystyleAnimatedBack { 311 | 0% { 312 | opacity: 0; 313 | -webkit-transform: rotate3d(0, 1, 0, 180deg); 314 | transform: rotate3d(0, 1, 0, 180deg); 315 | } 316 | 99% { 317 | opacity: 1; 318 | } 319 | 100% { 320 | opacity: 1; 321 | -webkit-transform: rotate3d(0); 322 | transform: rotate3d(0); 323 | } 324 | } 325 | 326 | @-webkit-keyframes mystyleAnimatedFlip { 327 | 0% { 328 | -webkit-transform: rotate3d(0, 1, 0, -180deg); 329 | transform: rotate3d(0, 1, 0, -180deg); 330 | opacity: 0; 331 | } 332 | 99% { 333 | opacity: 1; 334 | } 335 | 100% { 336 | opacity: 1; 337 | -webkit-transform: rotate3d(0, 0, 0, 180deg); 338 | transform: rotate3d(0, 0, 0, 180deg); 339 | } 340 | } 341 | 342 | @keyframes mystyleAnimatedFlip { 343 | 0% { 344 | -webkit-transform: rotate3d(0, 1, 0, -180deg); 345 | transform: rotate3d(0, 1, 0, -180deg); 346 | opacity: 0; 347 | } 348 | 99% { 349 | opacity: 1; 350 | } 351 | 100% { 352 | opacity: 1; 353 | -webkit-transform: rotate3d(0, 0, 0, 180deg); 354 | transform: rotate3d(0, 0, 0, 180deg); 355 | } 356 | } 357 | 358 | @-webkit-keyframes mystyleAnimatedFlipBack { 359 | 0% { 360 | opacity: 1; 361 | -webkit-transform: rotate3d(0, 0, 0, 180deg); 362 | transform: rotate3d(0, 0, 0, 180deg); 363 | } 364 | 95% { 365 | opacity: 0; 366 | } 367 | 100% { 368 | -webkit-transform: rotate3d(0, 1, 0, -180deg); 369 | transform: rotate3d(0, 1, 0, -180deg); 370 | opacity: 0; 371 | } 372 | } 373 | 374 | @keyframes mystyleAnimatedFlipBack { 375 | 0% { 376 | opacity: 1; 377 | -webkit-transform: rotate3d(0, 0, 0, 180deg); 378 | transform: rotate3d(0, 0, 0, 180deg); 379 | } 380 | 95% { 381 | opacity: 0; 382 | } 383 | 100% { 384 | -webkit-transform: rotate3d(0, 1, 0, -180deg); 385 | transform: rotate3d(0, 1, 0, -180deg); 386 | opacity: 0; 387 | } 388 | } 389 | 390 | @-webkit-keyframes mystyleBrandAnimated { 391 | 0% { 392 | -webkit-transform: translate(0, 0); 393 | transform: translate(0, 0); 394 | } 395 | 50% { 396 | -webkit-transform: translate(0, -120px); 397 | transform: translate(0, -120px); 398 | } 399 | 100% { 400 | -webkit-transform: translate(0, 0); 401 | transform: translate(0, 0); 402 | } 403 | } 404 | 405 | @keyframes mystyleBrandAnimated { 406 | 0% { 407 | -webkit-transform: translate(0, 0); 408 | transform: translate(0, 0); 409 | } 410 | 50% { 411 | -webkit-transform: translate(0, -120px); 412 | transform: translate(0, -120px); 413 | } 414 | 100% { 415 | -webkit-transform: translate(0, 0); 416 | transform: translate(0, 0); 417 | } 418 | } 419 | 420 | @-webkit-keyframes mystylePasswordAnimated { 421 | 0% { 422 | -webkit-transform: rotate3d(0, 0, 0, 0); 423 | transform: rotate3d(0, 0, 0, 0); 424 | } 425 | 30% { 426 | opacity: 1; 427 | } 428 | 60% { 429 | opacity: 0; 430 | } 431 | 100% { 432 | opacity: 0; 433 | -webkit-transform: rotate3d(1, 0, 0, -180deg); 434 | transform: rotate3d(1, 0, 0, -180deg); 435 | z-index: -1; 436 | } 437 | } 438 | 439 | @keyframes mystylePasswordAnimated { 440 | 0% { 441 | -webkit-transform: rotate3d(0, 0, 0, 0); 442 | transform: rotate3d(0, 0, 0, 0); 443 | } 444 | 30% { 445 | opacity: 1; 446 | } 447 | 60% { 448 | opacity: 0; 449 | } 450 | 100% { 451 | opacity: 0; 452 | -webkit-transform: rotate3d(1, 0, 0, -180deg); 453 | transform: rotate3d(1, 0, 0, -180deg); 454 | z-index: -1; 455 | } 456 | } 457 | 458 | @-webkit-keyframes mystylePasswordAnimatedBack { 459 | 0% { 460 | opacity: 0; 461 | -webkit-transform: rotate3d(1, 0, 0, -180deg); 462 | transform: rotate3d(1, 0, 0, -180deg); 463 | } 464 | 40% { 465 | opacity: 0; 466 | } 467 | 60% { 468 | opacity: 1; 469 | } 470 | 100% { 471 | -webkit-transform: rotate3d(0, 0, 0, 0); 472 | transform: rotate3d(0, 0, 0, 0); 473 | } 474 | } 475 | 476 | @keyframes mystylePasswordAnimatedBack { 477 | 0% { 478 | opacity: 0; 479 | -webkit-transform: rotate3d(1, 0, 0, -180deg); 480 | transform: rotate3d(1, 0, 0, -180deg); 481 | } 482 | 40% { 483 | opacity: 0; 484 | } 485 | 60% { 486 | opacity: 1; 487 | } 488 | 100% { 489 | -webkit-transform: rotate3d(0, 0, 0, 0); 490 | transform: rotate3d(0, 0, 0, 0); 491 | } 492 | } 493 | 494 | @media screen and (max-width: 320px) { 495 | .mystyle .mystyle-wrapper { 496 | width: 100%; 497 | } 498 | .mystyle .mystyle-box { 499 | padding: 0 10px; 500 | } 501 | } 502 | 503 | .title{ 504 | display: block; 505 | font-size: x-large; 506 | color:rgb(135, 84, 84); 507 | margin: 5px auto; 508 | text-align: center; 509 | } 510 | 511 | .subtitle{ 512 | display: block; 513 | color: #ff6464; 514 | margin: 5px auto 15px; 515 | text-align: center; 516 | } 517 | 518 | .nickname{ 519 | display: block; 520 | font-size: x-large; 521 | color:rgb(11, 10, 10); 522 | margin: 10px auto 5px; 523 | text-align: center; 524 | } 525 | 526 | .signature{ 527 | display: block; 528 | color: #827a7a; 529 | margin: 5px auto 20px; 530 | text-align: center; 531 | font-weight: 700; 532 | } 533 | 534 | .level{ 535 | margin: 5px auto; 536 | text-align: center; 537 | font-size: small; 538 | font-weight:700; 539 | } 540 | 541 | .info{ 542 | margin: 5px auto 15px; 543 | font-size: small; 544 | font-weight: 700; 545 | } 546 | 547 | .info div:first-child{ 548 | display: inline-block; 549 | width: 30%; 550 | } 551 | 552 | .info .playcount{ 553 | display: inline-block; 554 | width: 33%; 555 | } 556 | 557 | .info .logincount{ 558 | display: inline-block; 559 | width: 33%; 560 | } 561 | 562 | .elmmsg{ 563 | margin: 5px auto !important; 564 | } 565 | 566 | .icon{ 567 | float: right; 568 | } 569 | 570 | #logout{ 571 | margin-bottom: 20px !important; 572 | } 573 | -------------------------------------------------------------------------------- /frontend/js/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-undef */ 2 | const API = '' 3 | 4 | const $axios = axios.create({ 5 | timeout: 3000, 6 | baseURL: API 7 | }) 8 | $axios.defaults.withCredentials = true // 允许携带cookie 9 | $axios.defaults.crossDomain = true 10 | 11 | const APP = { 12 | methods: { 13 | changepage () { 14 | this.animation() 15 | }, 16 | phonelisten (e) { 17 | this.phoneinput = e.target.value 18 | }, 19 | passwordlisten (e) { 20 | this.passwordinput = e.target.value 21 | }, 22 | animation () { 23 | const animationvars = { 24 | mystyle: document.querySelector('.mystyle'), 25 | mystyle_brand: document.querySelector('.mystyle-brand'), 26 | mystyle_wrapper: document.querySelector('.mystyle-wrapper'), 27 | mystyle_login: document.querySelector('.mystyle-login'), 28 | mystyle_wrapper_height: 0, 29 | password_group: document.querySelector('.password-group'), 30 | password_group_height: 0, 31 | mystyle_index: document.querySelector('.mystyle-index'), 32 | box: document.getElementsByClassName('mystyle-box') 33 | } 34 | const animationfunction = { 35 | brand () { 36 | animationvars.mystyle_brand.classList += ' mystyle-animated' 37 | setTimeout(() => { 38 | animationvars.mystyle_brand.classList.remove('mystyle-animated') 39 | }, 1000) 40 | }, 41 | index () { 42 | animationvars.mystyle_login.className += ' mystyle-animated' 43 | setTimeout(() => { 44 | animationvars.mystyle_login.style.display = 'none' 45 | }, 500) 46 | animationvars.mystyle_index.style.display = 'block' 47 | animationvars.mystyle_index.className += ' mystyle-animated-flip' 48 | 49 | this.setHeight(animationvars.mystyle_index.offsetHeight) 50 | }, 51 | login () { 52 | animationvars.mystyle_index.classList.remove('mystyle-animated-flip') 53 | animationvars.mystyle_index.className += ' mystyle-animated-flipback' 54 | animationvars.mystyle_login.style.display = 'block' 55 | animationvars.mystyle_login.classList.remove('mystyle-animated') 56 | animationvars.mystyle_login.className += ' mystyle-animatedback' 57 | setTimeout(() => { 58 | animationvars.mystyle_index.style.display = 'none' 59 | }, 500) 60 | 61 | setTimeout(() => { 62 | animationvars.mystyle_index.classList.remove('mystyle-animated-flipback') 63 | animationvars.mystyle_login.classList.remove('mystyle-animatedback') 64 | }, 1000) 65 | 66 | this.setHeight(animationvars.mystyle_login.offsetHeight) 67 | }, 68 | setHeight (height) { 69 | animationvars.mystyle_wrapper.style.minHeight = height + 'px' 70 | } 71 | } 72 | 73 | animationfunction.brand() 74 | if (this.animationstatus === false) { 75 | this.animationstatus = !this.animationstatus 76 | animationfunction.index() 77 | } else { 78 | this.animationstatus = !this.animationstatus 79 | animationfunction.login() 80 | } 81 | }, 82 | login () { 83 | this.loginbtnstatus = true 84 | const loginbtn = document.querySelector('#loginbtn span') 85 | loginbtn.innerHTML = '请稍等' 86 | 87 | const _this = this 88 | $axios.post('/login', { 89 | phone: this.phoneinput, 90 | password: md5(this.passwordinput) 91 | }) 92 | .then(function (response) { 93 | if (response.status !== 200) { 94 | ElementPlus.ElMessage.error('请求失败,稍后再试!') 95 | } else { 96 | if (response.data.status === 0) { 97 | ElementPlus.ElMessage.error(response.data.msg.message ? response.data.msg.message : (response.data.msg.msg ? response.data.msg.msg : response.data.msg)) 98 | } else { 99 | ElementPlus.ElMessage({ 100 | message: response.data.msg.msg, 101 | type: 'success' 102 | }) 103 | setTimeout(() => { 104 | _this.changepage() 105 | }, 500) 106 | _this.updateuserinfo() 107 | } 108 | } 109 | }) 110 | .catch(function (error) { 111 | ElementPlus.ElMessage.error(error.message + '\n' + '请求失败!') 112 | }).then(() => { 113 | this.loginbtnstatus = false 114 | loginbtn.innerHTML = '登录' 115 | }) 116 | }, 117 | updateuserinfo () { 118 | const _this = this 119 | $axios.post('/checkinfo') 120 | .then(function (response) { 121 | if (response.status !== 200) { 122 | ElementPlus.ElMessage.error('用户信息获取失败请重新登录') 123 | } else { 124 | if (response.data.status === 0) { 125 | ElementPlus.ElMessage.error(response.data.msg.message ? response.data.msg.message : (response.data.msg.msg ? response.data.msg.msg : response.data.msg)) 126 | } else { 127 | _this.avatarsrc = response.data.msg.msg.userdata.avatarUrl 128 | const nickname = document.querySelector('.nickname') 129 | nickname.innerHTML = response.data.msg.msg.userdata.nickname 130 | const level = document.querySelector('.level') 131 | level.innerHTML = 'LV:' + response.data.msg.msg.userdata.level 132 | const signature = document.querySelector('.signature') 133 | signature.innerHTML = response.data.msg.msg.userdata.signature 134 | const playcount = document.querySelector('.playcount') 135 | playcount.innerHTML = '播放量: ' + response.data.msg.msg.userdata.playcount 136 | const logincount = document.querySelector('.logincount') 137 | logincount.innerHTML = '登录天数: ' + response.data.msg.msg.userdata.logincount 138 | } 139 | } 140 | }) 141 | .catch(function (error) { 142 | ElementPlus.ElMessage.error(error.message + '\n' + '请求失败!') 143 | }) 144 | }, 145 | signin () { 146 | this.signinbtnstatus = true 147 | const signinbtn = document.querySelector('#signin span') 148 | signinbtn.innerHTML = '请稍等' 149 | $axios.post('/signin') 150 | .then((response) => { 151 | if (response.status !== 200) { 152 | ElementPlus.ElNotification({ 153 | title: '发生错误了捏!', 154 | message: '服务器请求失败,稍后再试吧!', 155 | type: 'error' 156 | }) 157 | } else { 158 | if (response.data.status === 0) { 159 | ElementPlus.ElNotification({ 160 | title: '发生错误了捏!', 161 | message: response.data.msg.message ? response.data.msg.message : (response.data.msg.msg ? response.data.msg.msg : response.data.msg), 162 | type: 'error' 163 | }) 164 | } else { 165 | ElementPlus.ElNotification({ 166 | title: 'Success!', 167 | message: response.data.msg.msg.msg + '经验+' + response.data.msg.msg.point + ' 别重复签到,因为只会加一次经验', 168 | type: 'success' 169 | }) 170 | this.elmmsg2 = { 171 | title: response.data.msg.msg.msg + ' 经验 +' + response.data.msg.msg.point, 172 | type: 'success', 173 | show: true 174 | } 175 | } 176 | } 177 | }) 178 | .catch((error) => { 179 | ElementPlus.ElMessage.error(error.message + '\n' + '请求失败!') 180 | }).then(() => { 181 | signinbtn.innerHTML = '签到' 182 | setTimeout(() => { 183 | this.signinbtnstatus = false 184 | this.elmmsg2 = { 185 | title: 'hello,觉得好用就来我的github star一下叭!有问题和建议欢迎提 issue', 186 | type: 'success', 187 | show: false 188 | } 189 | }, 3000) 190 | }) 191 | }, 192 | daka () { 193 | const dakabtn = document.querySelector('#daka span') 194 | dakabtn.innerHTML = '正在打卡中,稍等!' 195 | this.dakabtnstatus = true 196 | let isfinish = false 197 | $axios.post('/daka', {}, { timeout: 60 * 1000 }).then((response) => { 198 | if (response.status !== 200) { 199 | ElementPlus.ElNotification({ 200 | title: '发生错误了捏!', 201 | message: '服务器请求失败,稍后再试吧!', 202 | type: 'error' 203 | }) 204 | } else { 205 | if (response.data.status === 0) { 206 | ElementPlus.ElNotification({ 207 | title: '发生错误了捏!', 208 | message: response.data.msg.message ? response.data.msg.message : (response.data.msg.msg ? response.data.msg.msg : response.data.msg), 209 | type: 'error' 210 | }) 211 | } else { 212 | ElementPlus.ElNotification({ 213 | title: 'Success!', 214 | message: '成功听歌:' + response.data.msg.count + '首', 215 | type: 'success' 216 | }) 217 | this.elmmsg2 = { 218 | title: '成功听歌:' + response.data.msg.count + '首', 219 | type: 'success', 220 | show: true 221 | } 222 | } 223 | } 224 | }) 225 | .catch((error) => { 226 | ElementPlus.ElMessage.error(error.message + '\n' + '请求失败!') 227 | }).then(() => { 228 | isfinish = true 229 | this.showstatus = true 230 | dakabtn.innerHTML = '打卡' 231 | 232 | setTimeout(() => { 233 | this.dakabtnstatus = false 234 | this.elmmsg2 = { 235 | title: 'Hello!,觉得好用就来我的 github star一下叭!有问题和建议欢迎提 issue 哦!', 236 | type: 'success', 237 | show: false 238 | } 239 | }, 3000) 240 | }) 241 | 242 | // 轮询 243 | const promsg = document.querySelector('#progressmsg') 244 | setTimeout(() => { 245 | const lx = setInterval(() => { 246 | $axios.post('/dakaprogress').then((response) => { 247 | if (response.data.msg.count) { 248 | this.showstatus = false 249 | this.progresspercentage = parseInt((response.data.msg.count / 350) * 100) 250 | promsg.innerHTML = '已听:' + response.data.msg.count + '首' 251 | } 252 | if (isfinish) { 253 | this.updateuserinfo() 254 | clearInterval(lx) 255 | } 256 | }) 257 | }, 100) 258 | }, 500) 259 | }, 260 | logout () { 261 | this.logoutbtnstatus = true 262 | const logoutbtn = document.querySelector('#logout span') 263 | logoutbtn.innerHTML = '请稍等' 264 | 265 | const _this = this 266 | $axios.post('/logout') 267 | .then(function (response) { 268 | if (response.status !== 200) { 269 | ElementPlus.ElMessage.error('请求失败,稍后再试!') 270 | } else { 271 | if (response.data.status === 0) { 272 | ElementPlus.ElMessage.error(response.data.msg.message ? response.data.msg.message : (response.data.msg.msg ? response.data.msg.msg : response.data.msg)) 273 | } else { 274 | ElementPlus.ElMessage({ 275 | message: response.data.msg.msg, 276 | type: 'success' 277 | }) 278 | setTimeout(() => { 279 | _this.changepage() 280 | }, 500) 281 | _this.avatarsrc = './img/logo.png' 282 | } 283 | } 284 | }) 285 | .catch(function (error) { 286 | ElementPlus.ElMessage.error(error.message + '\n' + '请求失败!') 287 | }).then(() => { 288 | this.logoutbtnstatus = false 289 | logoutbtn.innerHTML = '登录' 290 | }) 291 | } 292 | 293 | }, 294 | data () { 295 | return { 296 | animationstatus: '', 297 | phoneinput: '', 298 | passwordinput: '', 299 | loginbtnstatus: false, 300 | signinbtnstatus: false, 301 | dakabtnstatus: false, 302 | elmmsg1: { 303 | title: '欢迎光临,请输入正确的账号和密码', 304 | type: 'success', 305 | show: false 306 | }, 307 | elmmsg2: { 308 | title: 'hello,觉得好用就来我的github star一下叭!有问题和建议欢迎提 issue', 309 | type: 'success', 310 | show: false 311 | }, 312 | showstatus: true, 313 | progresspercentage: 0, 314 | avatarsrc: './img/logo.png', 315 | logoutbtnstatus: false 316 | 317 | } 318 | }, 319 | mounted () { 320 | this.animationstatus = false 321 | 322 | const loading = ElementPlus.ElLoading.service({ 323 | lock: true, 324 | text: '请稍等', 325 | background: 'rgba(0, 0, 0, 0.7)' 326 | }) 327 | $axios.post('/checkinfo') 328 | .then((response) => { 329 | if (response.status !== 200) { 330 | ElementPlus.ElNotification({ 331 | title: '错误', 332 | message: '服务器连接失败请检查相关配置!', 333 | type: 'error' 334 | }) 335 | } else { 336 | if (response.data.status === 0) { 337 | // 未登录状态 338 | ElementPlus.ElNotification({ 339 | title: '好耶!', 340 | message: '服务器连接正常,欢迎使用!', 341 | type: 'success' 342 | }) 343 | } else { 344 | ElementPlus.ElNotification({ 345 | title: '好耶!', 346 | message: '欢迎回来!', 347 | type: 'success' 348 | }) 349 | setTimeout(() => { 350 | this.changepage() 351 | }, 500) 352 | this.updateuserinfo() 353 | } 354 | } 355 | }) 356 | .catch((error) => { 357 | ElementPlus.ElNotification({ 358 | title: '错误', 359 | message: error.message + ' 服务器连接失败请检查相关配置!', 360 | type: 'error' 361 | }) 362 | }).then(() => { 363 | setTimeout(() => { 364 | loading.close() 365 | }, 1000) 366 | }) 367 | $axios.post('/getversion').then((res) => { 368 | if (res.status === 200) { 369 | const version = document.querySelectorAll('.version') 370 | version[0].innerHTML = res.data.msg.msg 371 | version[1].innerHTML = res.data.msg.msg 372 | } 373 | }) 374 | }, 375 | computed: { 376 | reg () { 377 | const regphone = /[0-9]{11,11}/ 378 | const regpassword = /.{6,30}/ 379 | loginbtn = document.querySelector('#loginbtn') 380 | if (regphone.test(this.phoneinput) && regpassword.test(this.passwordinput)) { 381 | return false 382 | } 383 | return true 384 | } 385 | } 386 | } 387 | 388 | const app = Vue.createApp(APP) 389 | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { 390 | app.component(key, component) 391 | }// elementplus-icon 392 | app.use(ElementPlus) 393 | app.mount('#app') 394 | -------------------------------------------------------------------------------- /frontend/js/axios.js: -------------------------------------------------------------------------------- 1 | /* axios v0.27.2 | (c) 2022 by Matt Zabriskie */ 2 | !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.axios=t():e.axios=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=13)}([function(e,t,n){"use strict";var r,o=n(4),i=Object.prototype.toString,s=(r=Object.create(null),function(e){var t=i.call(e);return r[t]||(r[t]=t.slice(8,-1).toLowerCase())});function a(e){return e=e.toLowerCase(),function(t){return s(t)===e}}function u(e){return Array.isArray(e)}function c(e){return void 0===e}var f=a("ArrayBuffer");function l(e){return null!==e&&"object"==typeof e}function p(e){if("object"!==s(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}var d=a("Date"),h=a("File"),m=a("Blob"),v=a("FileList");function y(e){return"[object Function]"===i.call(e)}var g=a("URLSearchParams");function E(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),u(e))for(var n=0,r=e.length;n0;)s[i=r[o]]||(t[i]=e[i],s[i]=!0);e=Object.getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:s,kindOfTest:a,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var r=e.indexOf(t,n);return-1!==r&&r===n},toArray:function(e){if(!e)return null;var t=e.length;if(c(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},isTypedArray:O,isFileList:v}},function(e,t,n){"use strict";var r=n(0);function o(e,t,n,r,o){Error.call(this),this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}r.inherits(o,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var i=o.prototype,s={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach((function(e){s[e]={value:e}})),Object.defineProperties(o,s),Object.defineProperty(i,"isAxiosError",{value:!0}),o.from=function(e,t,n,s,a,u){var c=Object.create(i);return r.toFlatObject(e,c,(function(e){return e!==Error.prototype})),o.call(c,e.message,t,n,s,a),c.name=e.name,u&&Object.assign(c,u),c},e.exports=o},function(e,t,n){"use strict";var r=n(1);function o(e){r.call(this,null==e?"canceled":e,r.ERR_CANCELED),this.name="CanceledError"}n(0).inherits(o,r,{__CANCEL__:!0}),e.exports=o},function(e,t,n){"use strict";var r=n(0),o=n(19),i=n(1),s=n(6),a=n(7),u={"Content-Type":"application/x-www-form-urlencoded"};function c(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var f,l={transitional:s,adapter:(("undefined"!=typeof XMLHttpRequest||"undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process))&&(f=n(8)),f),transformRequest:[function(e,t){if(o(t,"Accept"),o(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e))return e;if(r.isArrayBufferView(e))return e.buffer;if(r.isURLSearchParams(e))return c(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString();var n,i=r.isObject(e),s=t&&t["Content-Type"];if((n=r.isFileList(e))||i&&"multipart/form-data"===s){var u=this.env&&this.env.FormData;return a(n?{"files[]":e}:e,u&&new u)}return i||"application/json"===s?(c(t,"application/json"),function(e,t,n){if(r.isString(e))try{return(t||JSON.parse)(e),r.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||l.transitional,n=t&&t.silentJSONParsing,o=t&&t.forcedJSONParsing,s=!n&&"json"===this.responseType;if(s||o&&r.isString(e)&&e.length)try{return JSON.parse(e)}catch(e){if(s){if("SyntaxError"===e.name)throw i.from(e,i.ERR_BAD_RESPONSE,this,null,this.response);throw e}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:n(27)},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(u)})),e.exports=l},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r=0)return;s[t]="set-cookie"===t?(s[t]?s[t]:[]).concat([n]):s[t]?s[t]+", "+n:n}})),s):s}},function(e,t,n){"use strict";var r=n(0);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";e.exports=function(e){var t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}},function(e,t){e.exports=null},function(e,t,n){"use strict";var r=n(12).version,o=n(1),i={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){i[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));var s={};i.transitional=function(e,t,n){function i(e,t){return"[Axios v"+r+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,r,a){if(!1===e)throw new o(i(r," has been removed"+(t?" in "+t:"")),o.ERR_DEPRECATED);return t&&!s[r]&&(s[r]=!0,console.warn(i(r," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,r,a)}},e.exports={assertOptions:function(e,t,n){if("object"!=typeof e)throw new o("options must be an object",o.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(e),i=r.length;i-- >0;){var s=r[i],a=t[s];if(a){var u=e[s],c=void 0===u||a(u,s,e);if(!0!==c)throw new o("option "+s+" must be "+c,o.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new o("Unknown option "+s,o.ERR_BAD_OPTION)}},validators:i}},function(e,t,n){"use strict";var r=n(2);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise((function(e){t=e}));var n=this;this.promise.then((function(e){if(n._listeners){var t,r=n._listeners.length;for(t=0;t!!n[e.toLowerCase()]:e=>!!n[e]}const s=e("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt"),F=e("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function R(e){return!!e||""===e}function l(t){if(X(t)){const o={};for(let e=0;e{if(e){const t=e.split(f);1S(e,t))}const C=(e,t)=>t&&t.__v_isRef?C(e,t.value):D(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n])=>(e[t+" =>"]=n,e),{})}:H(t)?{[`Set(${t.size})`]:[...t.values()]}:!Q(t)||X(t)||G(t)?t:String(t),A={},ue=[],M=()=>{},w=()=>!1,B=/^on[^a-z]/,L=e=>B.test(e),$=e=>e.startsWith("onUpdate:"),P=Object.assign,j=(e,t)=>{t=e.indexOf(t);-1U.call(e,t),X=Array.isArray,D=e=>"[object Map]"===K(e),H=e=>"[object Set]"===K(e),W=e=>"[object Date]"===K(e),Z=e=>"function"==typeof e,ee=e=>"string"==typeof e,pe=e=>"symbol"==typeof e,Q=e=>null!==e&&"object"==typeof e,fe=e=>Q(e)&&Z(e.then)&&Z(e.catch),z=Object.prototype.toString,K=e=>z.call(e),G=e=>"[object Object]"===K(e),q=e=>ee(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,de=e(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),J=e("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),he=t=>{const n=Object.create(null);return e=>n[e]||(n[e]=t(e))},me=/-(\w)/g,te=he(e=>e.replace(me,(e,t)=>t?t.toUpperCase():"")),ve=/\B([A-Z])/g,ge=he(e=>e.replace(ve,"-$1").toLowerCase()),ye=he(e=>e.charAt(0).toUpperCase()+e.slice(1)),be=he(e=>e?"on"+ye(e):""),_e=(e,t)=>!Object.is(e,t),Se=(t,n)=>{for(let e=0;e{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Ce=e=>{var t=parseFloat(e);return isNaN(t)?e:t};let we,n;class ke{constructor(e=!1){this.active=!0,this.effects=[],this.cleanups=[],!e&&n&&(this.parent=n,this.index=(n.scopes||(n.scopes=[])).push(this)-1)}run(e){if(this.active){var t=n;try{return n=this,e()}finally{n=t}}}on(){n=this}off(){n=this.parent}stop(n){if(this.active){let e,t;for(e=0,t=this.effects.length;e{const t=new Set(e);return t.w=0,t.n=0,t},Ee=e=>0<(e.w&Ae),Oe=e=>0<(e.n&Ae),Fe=new WeakMap;let Re=0,Ae=1,Pe;const Me=Symbol(""),Ve=Symbol("");class Ie{constructor(e,t=null,n){this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,Te(this,n)}run(){if(!this.active)return this.fn();let e=Pe,t=Le;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=Pe,Pe=this,Le=!0,Ae=1<<++Re,(Re<=30?({deps:t})=>{if(t.length)for(let e=0;e{("length"===t||o<=t)&&n.push(e)});else switch(void 0!==r&&n.push(s.get(r)),t){case"add":X(e)?q(r)&&n.push(s.get("length")):(n.push(s.get(Me)),D(e)&&n.push(s.get(Ve)));break;case"delete":X(e)||(n.push(s.get(Me)),D(e)&&n.push(s.get(Ve)));break;case"set":D(e)&&n.push(s.get(Me))}if(1===n.length)n[0]&&We(n[0]);else{const e=[];for(const t of n)t&&e.push(...t);We(Ne(e))}}}function We(e){e=X(e)?e:[...e];for(const t of e)t.computed&&ze(t);for(const n of e)n.computed||ze(n)}function ze(e){e===Pe&&!e.allowRecurse||(e.scheduler?e.scheduler():e.run())}const Ke=e("__proto__,__v_isRef,__isVue"),Ge=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(pe)),qe=Xe(),Je=Xe(!1,!0),Ye=Xe(!0),Ze=Xe(!0,!0),Qe=function(){const e={};return["includes","indexOf","lastIndexOf"].forEach(r=>{e[r]=function(...e){const n=ne(this);for(let e=0,t=this.length;e{e[t]=function(...e){je();e=ne(this)[t].apply(this,e);return Ue(),e}}),e}();function Xe(o=!1,s=!1){return function(e,t,n){if("__v_isReactive"===t)return!o;if("__v_isReadonly"===t)return o;if("__v_isShallow"===t)return s;if("__v_raw"===t&&n===(o?s?Ot:Et:s?Nt:Tt).get(e))return e;var r=X(e);if(!o&&r&&Y(Qe,t))return Reflect.get(Qe,t,n);n=Reflect.get(e,t,n);return(pe(t)?Ge.has(t):Ke(t))?n:(o||d(e,0,t),s?n:V(n)?r&&q(t)?n:n.value:Q(n)?(o?At:Ft)(n):n)}}function et(l=!1){return function(e,t,n,r){let o=e[t];if(Vt(o)&&V(o)&&!V(n))return!1;if(!l&&!Vt(n)&&(It(n)||(n=ne(n),o=ne(o)),!X(e)&&V(o)&&!V(n)))return o.value=n,!0;var s=X(e)&&q(t)?Number(t)!0,deleteProperty:(e,t)=>!0},rt=P({},tt,{get:Je,set:et(!0)}),ot=P({},nt,{get:Ze}),st=e=>e,it=e=>Reflect.getPrototypeOf(e);function lt(e,t,n=!1,r=!1){var o=ne(e=e.__v_raw),s=ne(t);n||(t!==s&&d(o,0,t),d(o,0,s));const i=it(o)["has"],l=r?st:n?jt:$t;return i.call(o,t)?l(e.get(t)):i.call(o,s)?l(e.get(s)):void(e!==o&&e.get(t))}function ct(e,t=!1){const n=this.__v_raw,r=ne(n),o=ne(e);return t||(e!==o&&d(r,0,e),d(r,0,o)),e===o?n.has(e):n.has(e)||n.has(o)}function at(e,t=!1){return e=e.__v_raw,t||d(ne(e),0,Me),Reflect.get(e,"size",e)}function ut(e){e=ne(e);const t=ne(this);return it(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function pt(e,t){t=ne(t);const n=ne(this),{has:r,get:o}=it(n);let s=r.call(n,e);s||(e=ne(e),s=r.call(n,e));var i=o.call(n,e);return n.set(e,t),s?_e(t,i)&&He(n,"set",e,t):He(n,"add",e,t),this}function ft(e){const t=ne(this),{has:n,get:r}=it(t);let o=n.call(t,e);o||(e=ne(e),o=n.call(t,e)),r&&r.call(t,e);var s=t.delete(e);return o&&He(t,"delete",e,void 0),s}function dt(){const e=ne(this),t=0!==e.size,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function ht(i,l){return function(n,r){const o=this,e=o.__v_raw,t=ne(e),s=l?st:i?jt:$t;return i||d(t,0,Me),e.forEach((e,t)=>n.call(r,s(e),s(t),o))}}function mt(c,a,u){return function(...e){const t=this.__v_raw,n=ne(t),r=D(n),o="entries"===c||c===Symbol.iterator&&r,s="keys"===c&&r,i=t[c](...e),l=u?st:a?jt:$t;return a||d(n,0,s?Ve:Me),{next(){var{value:e,done:t}=i.next();return t?{value:e,done:t}:{value:o?[l(e[0]),l(e[1])]:l(e),done:t}},[Symbol.iterator](){return this}}}}function vt(e){return function(){return"delete"!==e&&this}}const[gt,yt,bt,_t]=function(){const t={get(e){return lt(this,e)},get size(){return at(this)},has:ct,add:ut,set:pt,delete:ft,clear:dt,forEach:ht(!1,!1)},n={get(e){return lt(this,e,!1,!0)},get size(){return at(this)},has:ct,add:ut,set:pt,delete:ft,clear:dt,forEach:ht(!1,!0)},r={get(e){return lt(this,e,!0)},get size(){return at(this,!0)},has(e){return ct.call(this,e,!0)},add:vt("add"),set:vt("set"),delete:vt("delete"),clear:vt("clear"),forEach:ht(!0,!1)},o={get(e){return lt(this,e,!0,!0)},get size(){return at(this,!0)},has(e){return ct.call(this,e,!0)},add:vt("add"),set:vt("set"),delete:vt("delete"),clear:vt("clear"),forEach:ht(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(e=>{t[e]=mt(e,!1,!1),r[e]=mt(e,!0,!1),n[e]=mt(e,!1,!0),o[e]=mt(e,!0,!0)}),[t,r,n,o]}();function St(r,e){const o=e?r?_t:bt:r?yt:gt;return(e,t,n)=>"__v_isReactive"===t?!r:"__v_isReadonly"===t?r:"__v_raw"===t?e:Reflect.get(Y(o,t)&&t in e?o:e,t,n)}const xt={get:St(!1,!1)},Ct={get:St(!1,!0)},wt={get:St(!0,!1)},kt={get:St(!0,!0)},Tt=new WeakMap,Nt=new WeakMap,Et=new WeakMap,Ot=new WeakMap;function Ft(e){return Vt(e)?e:Pt(e,!1,tt,xt,Tt)}function Rt(e){return Pt(e,!1,rt,Ct,Nt)}function At(e){return Pt(e,!0,nt,wt,Et)}function Pt(e,t,n,r,o){if(!Q(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;t=o.get(e);if(t)return t;t=function(e){if(e.__v_skip||!Object.isExtensible(e))return 0;switch((e=>K(e).slice(8,-1))(e)){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(e);if(0===t)return e;t=new Proxy(e,2===t?r:n);return o.set(e,t),t}function Mt(e){return Vt(e)?Mt(e.__v_raw):!(!e||!e.__v_isReactive)}function Vt(e){return!(!e||!e.__v_isReadonly)}function It(e){return!(!e||!e.__v_isShallow)}function Bt(e){return Mt(e)||Vt(e)}function ne(e){var t=e&&e.__v_raw;return t?ne(t):e}function Lt(e){return xe(e,"__v_skip",!0),e}const $t=e=>Q(e)?Ft(e):e,jt=e=>Q(e)?At(e):e;function Ut(e){Le&&Pe&&De((e=ne(e)).dep||(e.dep=Ne()))}function Dt(e){(e=ne(e)).dep&&We(e.dep)}function V(e){return!(!e||!0!==e.__v_isRef)}function Ht(e){return Wt(e,!1)}function Wt(e,t){return V(e)?e:new zt(e,t)}class zt{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:ne(e),this._value=t?e:$t(e)}get value(){return Ut(this),this._value}set value(e){e=this.__v_isShallow?e:ne(e),_e(e,this._rawValue)&&(this._rawValue=e,this._value=this.__v_isShallow?e:$t(e),Dt(this))}}function Kt(e){return V(e)?e.value:e}const Gt={get:(e,t,n)=>Kt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const o=e[t];return V(o)&&!V(n)?(o.value=n,!0):Reflect.set(e,t,n,r)}};function qt(e){return Mt(e)?e:new Proxy(e,Gt)}class Jt{constructor(e){this.dep=void 0,this.__v_isRef=!0;var{get:e,set:t}=e(()=>Ut(this),()=>Dt(this));this._get=e,this._set=t}get value(){return this._get()}set value(e){this._set(e)}}class Yt{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0}get value(){var e=this._object[this._key];return void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}}function Zt(e,t,n){var r=e[t];return V(r)?r:new Yt(e,t,n)}class Qt{constructor(e,t,n,r){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new Ie(e,()=>{this._dirty||(this._dirty=!0,Dt(this))}),(this.effect.computed=this).effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=ne(this);return Ut(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}const Xt=[];function en(t){const n=[],e=Object.keys(t);return e.slice(0,3).forEach(e=>{n.push(...function e(t,n,r){return ee(n)?(n=JSON.stringify(n),r?n:[t+"="+n]):"number"==typeof n||"boolean"==typeof n||null==n?r?n:[t+"="+n]:V(n)?(n=e(t,ne(n.value),!0),r?n:[t+"=Ref<",n,">"]):Z(n)?[t+"=fn"+(n.name?`<${n.name}>`:"")]:(n=ne(n),r?n:[t+"=",n])}(e,t[e]))}),3{nn(e,n,r)}),s}const s=[];for(let e=0;e>>1;Cn(i[r])Cn(e)-Cn(t)),fn=0;fnnull==e.id?1/0:e.id;function wn(e){on=!1,rn=!0,Sn(e),i.sort((e,t)=>Cn(e)-Cn(t));try{for(sn=0;sn{o._d&&ko(-1);var t=En(r),e=n(...e);return En(t),o._d&&ko(1),e};return o._n=!0,o._c=!0,o._d=!0,o}function Fn(t){const{type:e,vnode:n,proxy:r,withProxy:o,props:s,propsOptions:[i],slots:l,attrs:c,emit:a,render:u,renderCache:p,data:f,setupState:d,ctx:h,inheritAttrs:m}=t;let v,g;var y=En(t);try{if(4&n.shapeFlag){const t=o||r;v=Bo(u.call(t,t,p,s,d,f,h)),g=c}else{const t=e;v=Bo(t(s,1{let t;for(const n in e)"class"!==n&&"style"!==n&&!L(n)||((t=t||{})[n]=e[n]);return t},An=(e,t)=>{const n={};for(const r in e)$(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function Pn(t,n,r){var o=Object.keys(n);if(o.length!==Object.keys(t).length)return!0;for(let e=0;ee.__isSuspense,In={name:"Suspense",__isSuspense:!0,process(e,t,n,r,o,s,i,l,c,a){if(null!=e){var[u,p,e,f,d,h,m,v,{p:g,um:y,o:{createElement:b}}]=[e,t,n,r,o,i,l,c,a];const _=p.suspense=u.suspense,S=((_.vnode=p).el=u.el,p.ssContent),x=p.ssFallback,{activeBranch:C,pendingBranch:w,isInFallback:k,isHydrating:T}=_;if(w)Oo(_.pendingBranch=S,w)?(g(w,S,_.hiddenContainer,null,d,_,h,m,v),_.deps<=0?_.resolve():k&&(g(C,x,e,f,d,null,h,m,v),Un(_,x))):(_.pendingId++,T?(_.isHydrating=!1,_.activeBranch=w):y(w,d,_),_.deps=0,_.effects.length=0,_.hiddenContainer=b("div"),k?(g(null,S,_.hiddenContainer,null,d,_,h,m,v),_.deps<=0?_.resolve():(g(C,x,e,f,d,null,h,m,v),Un(_,x))):C&&Oo(S,C)?(g(C,S,e,f,d,_,h,m,v),_.resolve(!0)):(g(null,S,_.hiddenContainer,null,d,_,h,m,v),_.deps<=0&&_.resolve()));else if(C&&Oo(S,C))g(C,S,e,f,d,_,h,m,v),Un(_,S);else if(Bn(p,"onPending"),_.pendingBranch=S,_.pendingId++,g(null,S,_.hiddenContainer,null,d,_,h,m,v),_.deps<=0)_.resolve();else{const{timeout:u,pendingId:p}=_;0{_.pendingId===p&&_.fallback(x)},u):0===u&&_.fallback(x)}}else{u=t,y=n,b=r,e=o,f=s,p=i,g=l,d=c,h=a;const{p:N,o:{createElement:E}}=h,O=E("div"),F=u.suspense=Ln(u,f,e,y,O,b,p,g,d,h);N(null,F.pendingBranch=u.ssContent,O,null,e,F,p,g),0{o===y.pendingId&&f(r,l,e,0)});let e=y["anchor"];n&&(e=h(n),d(n,i,y,!0)),t||f(r,l,e,0)}Un(y,r),y.pendingBranch=null,y.isInFallback=!1;let c=y.parent,a=!1;for(;c;){if(c.pendingBranch){c.effects.push(...s),a=!0;break}c=c.parent}a||_n(s),y.effects=[],Bn(e,"onResolve")},fallback(e){if(y.pendingBranch){const{vnode:t,activeBranch:n,parentComponent:r,container:o,isSVG:s}=y,i=(Bn(t,"onFallback"),h(n)),l=()=>{y.isInFallback&&(p(null,e,o,i,r,null,s,a,u),Un(y,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=l),y.isInFallback=!0,d(n,r,null,!0),c||l()}},move(e,t,n){y.activeBranch&&f(y.activeBranch,e,t,n),y.container=e},next:()=>y.activeBranch&&h(y.activeBranch),registerDep(n,r){const o=!!y.pendingBranch,s=(o&&y.deps++,n.vnode.el);n.asyncDep.catch(e=>{nn(e,n,0)}).then(e=>{if(!n.isUnmounted&&!y.isUnmounted&&y.pendingId===n.suspenseId){n.asyncResolved=!0;const t=n["vnode"];Yo(n,e,!1),s&&(t.el=s);e=!s&&n.subTree.el;r(n,t,m(s||n.subTree.el),s?null:h(n.subTree),y,i,u),e&&v(e),Mn(n,t.el),o&&0==--y.deps&&y.resolve()}})},unmount(e,t){y.isUnmounted=!0,y.activeBranch&&d(y.activeBranch,n,e,t),y.pendingBranch&&d(y.pendingBranch,n,e,t)}};return y}function $n(t){let e;var n;if(Z(t)&&((n=wo&&t._c)&&(t._d=!1,xo()),t=t(),n&&(t._d=!0,e=a,Co())),X(t)){const e=function(t){let n;for(let e=0;ee!==t)),t}function jn(e,t){t&&t.pendingBranch?X(e)?t.effects.push(...e):t.effects.push(e):_n(e)}function Un(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e,o=n.el=t.el;r&&r.subTree===n&&(r.vnode.el=o,Mn(r,o))}function Dn(t,n){if(m){let e=m.provides;var r=m.parent&&m.parent.provides;(e=r===e?m.provides=Object.create(r):e)[t]=n}}function Hn(e,t,n=!1){var r,o=m||c;if(o)return(r=null==o.parent?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides)&&e in r?r[e]:1e.value,c=It(e)):Mt(e)?(i=()=>e,r=!0):i=X(e)?(a=!0,c=e.some(e=>Mt(e)||It(e)),()=>e.map(e=>V(e)?e.value:Mt(e)?Jn(e):Z(e)?tn(e,s,2):void 0)):Z(e)?t?()=>tn(e,s,2):()=>{if(!s||!s.isUnmounted)return l&&l(),re(e,s,3,[u])}:M,t&&r){const e=i;i=()=>Jn(e())}let u=e=>{l=h.onStop=()=>{tn(e,s,4)}},p=a?[]:zn;const f=()=>{if(h.active)if(t){const e=h.run();(r||c||(a?e.some((e,t)=>_e(e,p[t])):_e(e,p)))&&(l&&l(),re(t,s,3,[e,p===zn?void 0:p,u]),p=e)}else h.run()};var d;f.allowRecurse=!!t,d="sync"===o?f:"post"===o?()=>oe(f,s&&s.suspense):()=>{bn(f,cn,ln,an)};const h=new Ie(i,d);return t?n?f():p=h.run():"post"===o?oe(h.run.bind(h),s&&s.suspense):h.run(),()=>{h.stop(),s&&s.scope&&j(s.scope.effects,h)}}function qn(e,t){const n=t.split(".");return()=>{let t=e;for(let e=0;e{Jn(e,n)});else if(G(t))for(const e in t)Jn(t[e],n);return t}function Yn(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return yr(()=>{e.isMounted=!0}),Sr(()=>{e.isUnmounting=!0}),e}const t=[Function,Array],Zn={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:t,onEnter:t,onAfterEnter:t,onEnterCancelled:t,onBeforeLeave:t,onLeave:t,onAfterLeave:t,onLeaveCancelled:t,onBeforeAppear:t,onAppear:t,onAfterAppear:t,onAppearCancelled:t},setup(a,{slots:e}){const u=Ho(),p=Yn();let f;return()=>{var n=e.default&&rr(e.default(),!0);if(n&&n.length){let e=n[0];if(1{p.isLeaving=!1,u.update()},er(e);"in-out"===r&&o.type!==ie&&(a.delayLeave=(e,t,n)=>{Qn(p,l)[String(l.key)]=l,e._leaveCb=()=>{t(),e._leaveCb=void 0,delete s.delayedLeave},s.delayedLeave=n})}return e}}}};function Qn(e,t){const n=e["leavingVNodes"];let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Xn(s,t,i,n){const{appear:l,mode:e,persisted:r=!1,onBeforeEnter:o,onEnter:c,onAfterEnter:a,onEnterCancelled:u,onBeforeLeave:p,onLeave:f,onAfterLeave:d,onLeaveCancelled:h,onBeforeAppear:m,onAppear:v,onAfterAppear:g,onAppearCancelled:y}=t,b=String(s.key),_=Qn(i,s),S=(e,t)=>{e&&re(e,n,9,t)},x=(e,t)=>{const n=t[1];S(e,t),X(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},C={mode:e,persisted:r,beforeEnter(e){let t=o;if(!i.isMounted){if(!l)return;t=m||o}e._leaveCb&&e._leaveCb(!0);const n=_[b];n&&Oo(s,n)&&n.el._leaveCb&&n.el._leaveCb(),S(t,[e])},enter(t){let e=c,n=a,r=u;if(!i.isMounted){if(!l)return;e=v||c,n=g||a,r=y||u}let o=!1;var s=t._enterCb=e=>{o||(o=!0,S(e?r:n,[t]),C.delayedLeave&&C.delayedLeave(),t._enterCb=void 0)};e?x(e,[t,s]):s()},leave(t,n){const r=String(s.key);if(t._enterCb&&t._enterCb(!0),i.isUnmounting)return n();S(p,[t]);let o=!1;var e=t._leaveCb=e=>{o||(o=!0,n(),S(e?h:d,[t]),t._leaveCb=void 0,_[r]===s&&delete _[r])};_[r]=s,f?x(f,[t,e]):e()},clone:e=>Xn(e,t,i,n)};return C}function er(e){if(lr(e))return(e=Vo(e)).children=null,e}function tr(e){return lr(e)?e.children?e.children[0]:void 0:e}function nr(e,t){6&e.shapeFlag&&e.component?nr(e.component.subTree,t):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function rr(t,n=!1,r){let o=[],s=0;for(let e=0;e!!e.type.__asyncLoader;function ir(e,{vnode:{ref:t,props:n,children:r}}){const o=le(e,n,r);return o.ref=t,o}const lr=e=>e.type.__isKeepAlive,cr={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(c,{slots:a}){const r=Ho(),e=r.ctx,u=new Map,p=new Set;let f=null;const i=r.suspense,{p:l,m:d,um:t,o:{createElement:n}}=e["renderer"],o=n("div");function s(e){dr(e),t(e,r,i,!0)}function h(n){u.forEach((e,t)=>{e=ns(e.type);!e||n&&n(e)||m(t)})}function m(e){var t=u.get(e);f&&t.type===f.type?f&&dr(f):s(t),u.delete(e),p.delete(e)}e.activate=(t,e,n,r,o)=>{const s=t.component;d(t,e,n,0,i),l(s.vnode,t,e,n,s,i,r,t.slotScopeIds,o),oe(()=>{s.isDeactivated=!1,s.a&&Se(s.a);var e=t.props&&t.props.onVnodeMounted;e&&ce(e,s.parent,t)},i)},e.deactivate=t=>{const n=t.component;d(t,o,null,1,i),oe(()=>{n.da&&Se(n.da);var e=t.props&&t.props.onVnodeUnmounted;e&&ce(e,n.parent,t),n.isDeactivated=!0},i)},Gn(()=>[c.include,c.exclude],([t,n])=>{t&&h(e=>ar(t,e)),n&&h(e=>!ar(n,e))},{flush:"post",deep:!0});let v=null;var g=()=>{null!=v&&u.set(v,hr(r.subTree))};return yr(g),_r(g),Sr(()=>{u.forEach(e=>{var{subTree:t,suspense:n}=r,t=hr(t);if(e.type!==t.type)s(e);else{dr(t);const e=t.component.da;e&&oe(e,n)}})}),()=>{if(v=null,!a.default)return null;const e=a.default(),t=e[0];if(1parseInt(l,10)&&m(p.values().next().value)),n.shapeFlag|=256,f=n,Vn(t.type)?t:n}}};function ar(e,t){return X(e)?e.some(e=>ar(e,t)):ee(e)?e.split(",").includes(t):!!e.test&&e.test(t)}function ur(e,t){fr(e,"a",t)}function pr(e,t){fr(e,"da",t)}function fr(t,n,r=m){var o=t.__wdc||(t.__wdc=()=>{let e=r;for(;e;){if(e.isDeactivated)return;e=e.parent}return t()});if(mr(n,o,r),r){let e=r.parent;for(;e&&e.parent;)lr(e.parent.vnode)&&function(e,t,n,r){const o=mr(t,e,r,!0);xr(()=>{j(r[t],o)},n)}(o,n,r,e),e=e.parent}}function dr(e){let t=e.shapeFlag;256&t&&(t-=256),512&t&&(t-=512),e.shapeFlag=t}function hr(e){return 128&e.shapeFlag?e.ssContent:e}function mr(t,n,r=m,e=!1){if(r){const o=r[t]||(r[t]=[]),s=n.__weh||(n.__weh=(...e)=>{if(!r.isUnmounted)return je(),Wo(r),e=re(n,r,t,e),zo(),Ue(),e});return e?o.unshift(s):o.push(s),s}}const vr=n=>(e,t=m)=>(!Jo||"sp"===n)&&mr(n,e,t),gr=vr("bm"),yr=vr("m"),br=vr("bu"),_r=vr("u"),Sr=vr("bum"),xr=vr("um"),Cr=vr("sp"),wr=vr("rtg"),kr=vr("rtc");function Tr(e,t=m){mr("ec",e,t)}function Nr(t,n,r,o){var s=t.dirs,i=n&&n.dirs;for(let e=0;ee?Ko(e)?es(e)||e.proxy:Ar(e.parent):null,Pr=P(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ar(e.parent),$root:e=>Ar(e.root),$emit:e=>e.emit,$options:e=>$r(e),$forceUpdate:e=>e.f||(e.f=()=>gn(e.update)),$nextTick:e=>e.n||(e.n=vn.bind(e.proxy)),$watch:e=>function(e,t,n){const r=this.proxy,o=ee(e)?e.includes(".")?qn(r,e):()=>r[e]:e.bind(r,r);let s;return Z(t)?s=t:(s=t.handler,n=t),t=m,Wo(this),n=Gn(o,s.bind(r),n),t?Wo(t):zo(),n}.bind(e)}),Mr={get({_:e},t){const{ctx:n,setupState:r,data:o,props:s,accessCache:i,type:l,appContext:c}=e;var a;if("$"!==t[0]){const l=i[t];if(void 0!==l)switch(l){case 1:return r[t];case 2:return o[t];case 4:return n[t];case 3:return s[t]}else{if(r!==A&&Y(r,t))return i[t]=1,r[t];if(o!==A&&Y(o,t))return i[t]=2,o[t];if((a=e.propsOptions[0])&&Y(a,t))return i[t]=3,s[t];if(n!==A&&Y(n,t))return i[t]=4,n[t];Ir&&(i[t]=0)}}const u=Pr[t];let p,f;return u?("$attrs"===t&&d(e,0,t),u(e)):(p=l.__cssModules)&&(p=p[t])?p:n!==A&&Y(n,t)?(i[t]=4,n[t]):(f=c.config.globalProperties,Y(f,t)?f[t]:void 0)},set({_:e},t,n){const{data:r,setupState:o,ctx:s}=e;return o!==A&&Y(o,t)?(o[t]=n,!0):r!==A&&Y(r,t)?(r[t]=n,!0):!(Y(e.props,t)||"$"===t[0]&&t.slice(1)in e||(s[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:o,propsOptions:s}},i){return!!n[i]||e!==A&&Y(e,i)||t!==A&&Y(t,i)||(n=s[0])&&Y(n,i)||Y(r,i)||Y(Pr,i)||Y(o.config.globalProperties,i)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Vr=P({},Mr,{get(e,t){if(t!==Symbol.unscopables)return Mr.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!s(t)});let Ir=!0;function Br(t){const e=$r(t),n=t.proxy,r=t.ctx,{data:o,computed:s,methods:i,watch:l,provide:c,inject:a,created:u,beforeMount:p,mounted:f,beforeUpdate:d,updated:h,activated:m,deactivated:v,beforeUnmount:g,unmounted:y,render:b,renderTracked:_,renderTriggered:S,errorCaptured:x,serverPrefetch:C,expose:w,inheritAttrs:k,components:T,directives:N}=(Ir=!1,e.beforeCreate&&Lr(e.beforeCreate,t,"bc"),e);if(a){var[E,O,F=!1]=[a,r,t.appContext.config.unwrapInjectedRef];for(const A in E=X(E)?Hr(E):E){const P=E[A];let t;V(t=Q(P)?"default"in P?Hn(P.from||A,P.default,!0):Hn(P.from||A):Hn(P))&&F?Object.defineProperty(O,A,{enumerable:!0,configurable:!0,get:()=>t.value,set:e=>t.value=e}):O[A]=t}}if(i)for(const M in i){const t=i[M];Z(t)&&(r[M]=t.bind(n))}if(o){const e=o.call(n,n);Q(e)&&(t.data=Ft(e))}if(Ir=!0,s)for(const X in s){const t=s[X],e=Z(t)?t.bind(n,n):Z(t.get)?t.get.bind(n,n):M,o=!Z(t)&&Z(t.set)?t.set.bind(n):M,i=os({get:e,set:o});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(l)for(const M in l)!function t(e,n,r,o){const s=o.includes(".")?qn(r,o):()=>r[o];if(ee(e)){const r=n[e];Z(r)&&Kn(s,r)}else if(Z(e))Kn(s,e.bind(r));else if(Q(e))if(X(e))e.forEach(e=>t(e,n,r,o));else{const o=Z(e.handler)?e.handler.bind(r):n[e.handler];Z(o)&&Kn(s,o,e)}}(l[M],r,n,M);if(c){const t=Z(c)?c.call(n):c;Reflect.ownKeys(t).forEach(e=>{Dn(e,t[e])})}function R(t,e){X(e)?e.forEach(e=>t(e.bind(n))):e&&t(e.bind(n))}if(u&&Lr(u,t,"c"),R(gr,p),R(yr,f),R(br,d),R(_r,h),R(ur,m),R(pr,v),R(Tr,x),R(kr,_),R(wr,S),R(Sr,g),R(xr,y),R(Cr,C),X(w))if(w.length){const e=t.exposed||(t.exposed={});w.forEach(t=>{Object.defineProperty(e,t,{get:()=>n[t],set:e=>n[t]=e})})}else t.exposed||(t.exposed={});b&&t.render===M&&(t.render=b),null!=k&&(t.inheritAttrs=k),T&&(t.components=T),N&&(t.directives=N)}function Lr(e,t,n){re(X(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function $r(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:o,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,l=s.get(t);let c;return l?c=l:o.length||n||r?(c={},o.length&&o.forEach(e=>jr(c,e,i,!0)),jr(c,t,i)):c=t,s.set(t,c),c}function jr(t,e,n,r=!1){const{mixins:o,extends:s}=e;s&&jr(t,s,n,!0),o&&o.forEach(e=>jr(t,e,n,!0));for(const i in e)if(!r||"expose"!==i){const r=Ur[i]||n&&n[i];t[i]=r?r(t[i],e[i]):e[i]}return t}const Ur={data:Dr,props:Wr,emits:Wr,methods:Wr,computed:Wr,beforeCreate:o,created:o,beforeMount:o,mounted:o,beforeUpdate:o,updated:o,beforeDestroy:o,beforeUnmount:o,destroyed:o,unmounted:o,activated:o,deactivated:o,errorCaptured:o,serverPrefetch:o,components:Wr,directives:Wr,watch:function(e,t){if(!e)return t;if(!t)return e;const n=P(Object.create(null),e);for(const r in t)n[r]=o(e[r],t[r]);return n},provide:Dr,inject:function(e,t){return Wr(Hr(e),Hr(t))}};function Dr(e,t){return t?e?function(){return P(Z(e)?e.call(this,this):e,Z(t)?t.call(this,this):t)}:t:e}function Hr(t){if(X(t)){const n={};for(let e=0;eJr(e,t)):Z(e)&&Jr(e,t)?0:-1}const Zr=e=>"_"===e[0]||"$stable"===e,Qr=e=>X(e)?e.map(Bo):[Bo(e)],Xr=(e,t,n)=>{var r=e._ctx;for(const o in e)if(!Zr(o)){const n=e[o];if(Z(n))t[o]=((t,e)=>{if(t._n)return t;const n=On((...e)=>Qr(t(...e)),e);return n._c=!1,n})(n,r);else if(null!=n){const e=Qr(n);t[o]=()=>e}}},eo=(e,t)=>{const n=Qr(t);e.slots.default=()=>n};function to(){return{app:null,config:{isNativeTag:w,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let no=0;function ro(t,n,r,o,s=!1){if(X(t))t.forEach((e,t)=>ro(e,n&&(X(n)?n[t]:n),r,o,s));else if(!sr(o)||s){const i=4&o.shapeFlag?es(o.component)||o.component.proxy:o.el,l=s?null:i,{i:e,r:c}=t,a=n&&n.r,u=e.refs===A?e.refs={}:e.refs,p=e.setupState;if(null!=a&&a!==c&&(ee(a)?(u[a]=null,Y(p,a)&&(p[a]=null)):V(a)&&(a.value=null)),Z(c))tn(c,e,12,[l,u]);else{const n=ee(c),o=V(c);if(n||o){const e=()=>{if(t.f){const e=n?u[c]:c.value;s?X(e)&&j(e,i):X(e)?e.includes(i)||e.push(i):n?(u[c]=[i],Y(p,c)&&(p[c]=u[c])):(c.value=[i],t.k&&(u[t.k]=c.value))}else n?(u[c]=l,Y(p,c)&&(p[c]=l)):o&&(c.value=l,t.k&&(u[t.k]=l))};l?(e.id=-1,oe(e,r)):e()}}}}let oo=!1;const so=e=>/svg/.test(e.namespaceURI)&&"foreignObject"!==e.tagName,io=e=>8===e.nodeType;function lo(h){const{mt:m,p:v,o:{patchProp:g,createText:y,nextSibling:b,parentNode:_,remove:S,insert:x,createComment:C}}=h,w=(c,a,u,p,f,e=!1)=>{const d=io(c)&&"["===c.data,t=()=>{{var e=c,t=a,n=u,r=p,o=f,s=d;if(oo=!0,t.el=null,s){const t=T(e);for(;;){const v=b(e);if(!v||v===t)break;S(v)}}var i=b(e),l=_(e);return S(e),v(null,t,l,i,n,r,so(l),o),i}},{type:n,ref:r,shapeFlag:o,patchFlag:s}=a,i=c.nodeType;a.el=c,-2===s&&(e=!1,a.dynamicChildren=null);let l=null;switch(n){case bo:l=3!==i?""===a.children?(x(a.el=y(""),_(c),c),c):t():(c.data!==a.children&&(oo=!0,c.data=a.children),b(c));break;case ie:l=8!==i||d?t():b(c);break;case _o:if(1===i||3===i){l=c;const h=!a.children.length;for(let e=0;e{const{slotScopeIds:i}=t,l=(i&&(o=o?o.concat(i):i),_(e)),c=k(b(e),t,l,n,r,o,s);return c&&io(c)&&"]"===c.data?b(t.anchor=c):(oo=!0,x(t.anchor=C("]"),l,c),c)})(c,a,u,p,f,e):t();break;default:if(1&o)l=1!==i||a.type.toLowerCase()!==c.tagName.toLowerCase()?t():((t,n,r,o,s,i)=>{i=i||!!n.dynamicChildren;const{type:e,props:l,patchFlag:c,shapeFlag:a,dirs:u}=n,p="input"===e&&u||"option"===e;if(p||-1!==c){if(u&&Nr(n,null,r,"created"),l)if(p||!i||48&c)for(const n in l)(p&&n.endsWith("value")||L(n)&&!de(n))&&g(t,n,null,l[n],!1,void 0,r);else l.onClick&&g(t,"onClick",null,l.onClick,!1,void 0,r);let e;if((e=l&&l.onVnodeBeforeMount)&&ce(e,r,n),u&&Nr(n,null,r,"beforeMount"),((e=l&&l.onVnodeMounted)||u)&&jn(()=>{e&&ce(e,r,n),u&&Nr(n,null,r,"mounted")},o),16&a&&(!l||!l.innerHTML&&!l.textContent)){let e=k(t.firstChild,n,t,r,o,s,i);for(;e;){oo=!0;const t=e;e=e.nextSibling,S(t)}}else 8&a&&t.textContent!==n.children&&(oo=!0,t.textContent=n.children)}return t.nextSibling})(c,a,u,p,f,e);else if(6&o){a.slotScopeIds=f;const h=_(c);if(m(a,h,null,u,p,so(h),e),(l=(d?T:b)(c))&&io(l)&&"teleport end"===l.data&&(l=b(l)),sr(a)){let e;d?(e=le(se)).anchor=l?l.previousSibling:h.lastChild:e=3===c.nodeType?Io(""):le("div"),e.el=c,a.component.subTree=e}}else 64&o?l=8!==i?t():a.type.hydrate(c,a,u,p,f,e,h,k):128&o&&(l=a.type.hydrate(c,a,u,p,so(_(c)),f,e,h,w))}return null!=r&&ro(r,null,p,a),l},k=(t,n,r,o,s,i,l)=>{l=l||!!n.dynamicChildren;const c=n.children,a=c.length;for(let e=0;e{let t=0;for(;e;)if((e=b(e))&&io(e)&&("["===e.data&&t++,"]"===e.data)){if(0===t)return b(e);t--}return e};return[(e,t)=>{if(!t.hasChildNodes())return v(null,e,t),xn(),void(t._vnode=e);oo=!1,w(t.firstChild,e,null,null,null),xn(),t._vnode=e,oo&&console.error("Hydration completed but contains mismatches.")},w]}const oe=jn;function co(e){return uo(e)}function ao(e){return uo(e,lo)}function uo(e,t){(we=we||("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{})).__VUE__=!0;const{insert:V,remove:f,patchProp:g,createElement:y,createText:I,createComment:o,setText:B,setElementText:w,parentNode:m,nextSibling:v,setScopeId:s=M,cloneNode:b,insertStaticContent:K}=e,k=(r,o,s,i=null,l=null,c=null,a=!1,u=null,p=!!o.dynamicChildren)=>{if(r!==o){r&&!Oo(r,o)&&(i=W(r),H(r,l,c,!0),r=null),-2===o.patchFlag&&(p=!1,o.dynamicChildren=null);const{type:F,ref:R,shapeFlag:A}=o;switch(F){case bo:var e=r,t=o,n=s,f=i;if(null==e)V(t.el=I(t.children),n,f);else{const V=t.el=e.el;t.children!==e.children&&B(V,t.children)}break;case ie:L(r,o,s,i);break;case _o:null==r&&(n=o,f=s,e=i,t=a,[n.el,n.anchor]=K(n.children,f,e,t,n.el,n.anchor));break;case se:{var d=r;var h=o;var m=s;var v=i;var g=l;var y=c;var b=a;var _=u;var S=p;const P=h.el=d?d.el:I(""),M=h.anchor=d?d.anchor:I("");let{patchFlag:e,dynamicChildren:t,slotScopeIds:n}=h;n&&(_=_?_.concat(n):n),null==d?(V(P,m,v),V(M,m,v),$(h.children,m,M,g,y,b,_,S)):e>0&&64&e&&t&&d.dynamicChildren?(j(d.dynamicChildren,t,m,g,y,b,_),(null!=h.key||g&&h===g.subTree)&&fo(d,h,!0)):D(d,h,m,M,g,y,b,_,S)}break;default:1&A?(v=r,d=o,h=s,m=i,g=l,y=c,b=u,_=p,S=(S=a)||"svg"===d.type,null==v?G(d,h,m,g,y,S,b,_):q(v,d,g,y,S,b,_)):6&A?(x=r,w=s,k=i,T=l,N=c,E=a,O=p,(C=o).slotScopeIds=u,null==x?512&C.shapeFlag?T.ctx.activate(C,w,k,E,O):U(C,w,k,T,N,E,O):J(x,C,O)):(64&A||128&A)&&F.process(r,o,s,i,l,c,a,u,p,z)}var x,C,w,k,T,N,E,O;null!=R&&l&&ro(R,r&&r.ref,c,o||r,!o)}},L=(e,t,n,r)=>{null==e?V(t.el=o(t.children||""),n,r):t.el=e.el},G=(e,t,n,r,o,s,i,l)=>{let c,a;const{type:u,props:p,shapeFlag:f,transition:d,patchFlag:h,dirs:m}=e;if(e.el&&void 0!==b&&-1===h)c=e.el=b(e.el);else{if(c=e.el=y(e.type,s,p&&p.is,p),8&f?w(c,e.children):16&f&&$(e.children,c,null,r,o,s&&"foreignObject"!==u,i,l),m&&Nr(e,null,r,"created"),p){for(const t in p)"value"===t||de(t)||g(c,t,null,p[t],s,e.children,r,o,O);"value"in p&&g(c,"value",null,p.value),(a=p.onVnodeBeforeMount)&&ce(a,r,e)}_(c,e,e.scopeId,i,r)}m&&Nr(e,null,r,"beforeMount");const v=(!o||!o.pendingBranch)&&d&&!d.persisted;v&&d.beforeEnter(c),V(c,t,n),((a=p&&p.onVnodeMounted)||v||m)&&oe(()=>{a&&ce(a,r,e),v&&d.enter(c),m&&Nr(e,null,r,"mounted")},o)},_=(t,e,n,r,o)=>{if(n&&s(t,n),r)for(let e=0;e{for(let e=a;e{var l=e.el=t.el;let{patchFlag:c,dynamicChildren:a,dirs:u}=e;c|=16&t.patchFlag;var p=t.props||A,f=e.props||A;let d;n&&po(n,!1),(d=f.onVnodeBeforeUpdate)&&ce(d,n,e,t),u&&Nr(e,t,n,"beforeUpdate"),n&&po(n,!0);var h=o&&"foreignObject"!==e.type;if(a?j(t.dynamicChildren,a,l,n,r,h,s):i||D(t,e,l,null,n,r,h,s,!1),0{d&&ce(d,n,e,t),u&&Nr(e,t,n,"updated")},r)},j=(t,n,r,o,s,i,l)=>{for(let e=0;e{if(n!==r){for(const a in r){var l,c;de(a)||(l=r[a])!==(c=n[a])&&"value"!==a&&g(e,a,c,l,i,t.children,o,s,O)}if(n!==A)for(const u in n)de(u)||u in r||g(e,u,n[u],null,i,t.children,o,s,O);"value"in r&&g(e,"value",n.value,r.value)}},U=(e,t,n,r,o,s,i)=>{const l=e.component=function(e,t,n){const r=e.type,o=(t||e).appContext||Uo,s={uid:Do++,vnode:e,type:r,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,scope:new ke(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:function n(t,r,e=!1){const o=r.propsCache,s=o.get(t);if(s)return s;const i=t.props,l={},c=[];let a=!1;if(!Z(t)){const o=e=>{a=!0;var[e,t]=n(e,r,!0);P(l,e),t&&c.push(...t)};!e&&r.mixins.length&&r.mixins.forEach(o),t.extends&&o(t.extends),t.mixins&&t.mixins.forEach(o)}if(!i&&!a)return o.set(t,ue),ue;if(X(i))for(let e=0;e{(e=t(e,n,!0))&&(c=!0,P(l,e))};!r&&n.mixins.length&&n.mixins.forEach(o),e.extends&&o(e.extends),e.mixins&&e.mixins.forEach(o)}return i||c?(X(i)?i.forEach(e=>l[e]=null):P(l,i),o.set(e,l),l):(o.set(e,null),null)}(r,o),emit:null,emitted:null,propsDefaults:A,inheritAttrs:r.inheritAttrs,ctx:A,data:A,props:A,attrs:A,slots:A,refs:A,setupState:A,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=t?t.root:s,s.emit=function(r,o,...s){if(!r.isUnmounted){var i=r.vnode.props||A;let e=s;const l=o.startsWith("update:"),c=l&&o.slice(7);if(c&&c in i){const r=`${"modelValue"===c?"model":c}Modifiers`,{number:o,trim:l}=i[r]||A;l&&(e=s.map(e=>e.trim())),o&&(e=s.map(Ce))}let t,n=i[t=be(o)]||i[t=be(te(o))];(n=!n&&l?i[t=be(ge(o))]:n)&&re(n,r,6,e);s=i[t+"Once"];if(s){if(r.emitted){if(r.emitted[t])return}else r.emitted={};r.emitted[t]=!0,re(s,r,6,e)}}}.bind(null,s),e.ce&&e.ce(s),s}(e,r,o);lr(e)&&(l.ctx.renderer=z);var r=l,{props:c,children:a}=(Jo=!1,r.vnode),u=Ko(r);{var p=r,f=u;const d={},h={};xe(h,Fo,1),p.propsDefaults=Object.create(null),zr(p,c,d,h);for(const m in p.propsOptions[0])m in d||(d[m]=void 0);p.props=f?Rt(d):p.type.props?d:h,p.attrs=h}if(c=a,32&(f=r).vnode.shapeFlag?(p=c._)?(f.slots=ne(c),xe(c,"_",p)):Xr(c,f.slots={}):(f.slots={},c&&eo(f,c)),xe(f.slots,Fo,1),u){const v=(a=r).type;if(a.accessCache=Object.create(null),a.proxy=Lt(new Proxy(a.ctx,Mr)),p=v.setup){const v=a.setupContext=1{const r=t.component=e.component;!function(t,e,n){var{props:r,children:t,component:o}=t,{props:s,children:i,patchFlag:l}=e,c=o.emitsOptions;if(e.dirs||e.transition)return 1;if(!(n&&0<=l))return!(!t&&!i||i&&i.$stable)||r!==s&&(r?!s||Pn(r,s,c):s);if(1024&l)return 1;if(16&l)return r?Pn(r,s,c):s;if(8&l){const t=e.dynamicProps;for(let e=0;esn&&i.splice(e,1),r.update())},x=(a,i,u,p,f,d,h)=>{const e=a.effect=new Ie(()=>{if(a.isMounted){let e,{next:t,bu:n,u:r,parent:o,vnode:s}=a,i=t;po(a,!1),t?(t.el=s.el,C(a,t,h)):t=s,n&&Se(n),(e=t.props&&t.props.onVnodeBeforeUpdate)&&ce(e,o,t,s),po(a,!0);var l=Fn(a),c=a.subTree;a.subTree=l,k(c,l,m(c.el),W(c),a,f,d),t.el=l.el,null===i&&Mn(a,l.el),r&&oe(r,f),(e=t.props&&t.props.onVnodeUpdated)&&oe(()=>ce(e,o,t,s),f)}else{let e;const{el:t,props:n}=i,{bm:r,m,parent:o}=a,s=sr(i);if(po(a,!1),r&&Se(r),!s&&(e=n&&n.onVnodeBeforeMount)&&ce(e,o,i),po(a,!0),t&&F){const u=()=>{a.subTree=Fn(a),F(t,a.subTree,a,f,null)};s?i.type.__asyncLoader().then(()=>!a.isUnmounted&&u()):u()}else{const h=a.subTree=Fn(a);k(null,h,u,p,a,f,d),i.el=h.el}if(m&&oe(m,f),!s&&(e=n&&n.onVnodeMounted)){const a=i;oe(()=>ce(e,o,a),f)}(256&i.shapeFlag||o&&sr(o.vnode)&&256&o.vnode.shapeFlag)&&a.a&&oe(a.a,f),a.isMounted=!0,i=u=p=null}},()=>gn(t),a.scope),t=a.update=()=>e.run();t.id=a.uid,po(a,!0),t()},C=(n,r,o)=>{var s=(r.component=n).vnode.props;n.vnode=r,n.next=null;{var i=n,l=r.props,c=s;const{props:f,attrs:d,vnode:{patchFlag:e}}=i,h=ne(f),[m]=i.propsOptions;let t=!1;if(!(o||0{var a=e&&e.children,e=e?e.shapeFlag:0,u=t.children,{patchFlag:t,shapeFlag:p}=t;if(0x?O(f,v,g,!0,!1,C):$(d,h,m,v,g,y,b,_,C);return}}8&p?(16&e&&O(a,o,s),u!==a&&w(n,u)):16&e?16&p?T(a,u,n,r,o,s,i,l,c):O(a,o,s,!0):(8&e&&w(n,""),16&p&&$(u,n,r,o,s,i,l,c))},T=(e,s,i,l,c,a,u,p,f)=>{let d=0;const h=s.length;let m=e.length-1,v=h-1;for(;d<=m&&d<=v;){const l=e[d],h=s[d]=(f?Lo:Bo)(s[d]);if(!Oo(l,h))break;k(l,h,i,null,c,a,u,p,f),d++}for(;d<=m&&d<=v;){const l=e[m],d=s[v]=(f?Lo:Bo)(s[v]);if(!Oo(l,d))break;k(l,d,i,null,c,a,u,p,f),m--,v--}if(d>m){if(d<=v){const e=v+1,m=ev)for(;d<=m;)H(e[d],c,a,!0),d++;else{const b=d,_=d,S=new Map;for(d=_;d<=v;d++){const e=s[d]=(f?Lo:Bo)(s[d]);null!=e.key&&S.set(e.key,d)}let t,n=0;var g=v-_+1;let r=!1,o=0;const x=new Array(g);for(d=0;d=g)H(l,c,a,!0);else{let e;if(null!=l.key)e=S.get(l.key);else for(t=_;t<=v;t++)if(0===x[t-_]&&Oo(l,s[t])){e=t;break}void 0===e?H(l,c,a,!0):(x[e-_]=d+1,e>=o?o=e:r=!0,k(l,s[e],i,null,c,a,u,p,f),n++)}}var y=r?function(e){const t=e.slice(),n=[0];let r,o,s,i,l;const c=e.length;for(r=0;r>1,e[n[l]]{const{el:s,type:i,transition:l,children:c,shapeFlag:a}=e;if(6&a)N(e.component.subTree,t,n,r);else if(128&a)e.suspense.move(t,n,r);else if(64&a)i.move(e,t,n,z);else if(i===se){V(s,t,n);for(let e=0;el.enter(s),o);else{const{leave:e,delayLeave:r,afterLeave:o}=l,i=()=>V(s,t,n),c=()=>{e(s,()=>{i(),o&&o()})};r?r(s,i,c):c()}else V(s,t,n)},H=(t,n,r,o=!1,s=!1)=>{var{type:i,props:l,ref:e,children:c,dynamicChildren:a,shapeFlag:u,patchFlag:p,dirs:f}=t;if(null!=e&&ro(e,null,r,t,!0),256&u)n.ctx.deactivate(t);else{const d=1&u&&f,h=!sr(t);let e;if(h&&(e=l&&l.onVnodeBeforeUnmount)&&ce(e,n,t),6&u)R(t.component,r,o);else{if(128&u)return void t.suspense.unmount(r,o);d&&Nr(t,null,n,"beforeUnmount"),64&u?t.type.remove(t,n,r,s,z,o):a&&(i!==se||0{e&&ce(e,n,t),d&&Nr(t,null,n,"unmounted")},r)}},E=e=>{const{type:t,el:n,anchor:r,transition:o}=e;if(t===se){for(var s,i=n,l=r;i!==l;)s=v(i),f(i),i=s;f(l)}else if(t===_o){for(var c,{el:a,anchor:u}=[e][0];a&&a!==u;)c=v(a),f(a),a=c;f(u)}else{const p=()=>{f(n),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&e.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:f}=o,r=()=>t(n,p);f?f(e.el,p,r):r()}else p()}},R=(e,t,n)=>{const{bum:r,scope:o,update:s,subTree:i,um:l}=e;r&&Se(r),o.stop(),s&&(s.active=!1,H(i,e,t,n)),l&&oe(l,t),oe(()=>{e.isUnmounted=!0},t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},O=(t,n,r,o=!1,s=!1,i=0)=>{for(let e=i;e6&e.shapeFlag?W(e.component.subTree):128&e.shapeFlag?e.suspense.next():v(e.anchor||e.el),n=(e,t,n)=>{null==e?t._vnode&&H(t._vnode,null,null,!0):k(t._vnode||null,e,t,null,null,null,n),xn(),t._vnode=e},z={p:k,um:H,m:N,r:E,mt:U,mc:$,pc:D,pbc:j,n:W,o:e};let r,F;return t&&([r,F]=t(z)),{render:n,hydrate:r,createApp:(a=n,u=r,function(o,s=null){Z(o)||(o=Object.assign({},o)),null==s||Q(s)||(s=null);const i=to(),n=new Set;let l=!1;const c=i.app={_uid:no++,_component:o,_props:s,_container:null,_context:i,_instance:null,version:as,get config(){return i.config},set config(e){},use:(e,...t)=>(n.has(e)||(e&&Z(e.install)?(n.add(e),e.install(c,...t)):Z(e)&&(n.add(e),e(c,...t))),c),mixin:e=>(i.mixins.includes(e)||i.mixins.push(e),c),component:(e,t)=>t?(i.components[e]=t,c):i.components[e],directive:(e,t)=>t?(i.directives[e]=t,c):i.directives[e],mount(e,t,n){if(!l){const r=le(o,s);return r.appContext=i,t&&u?u(r,e):a(r,e,n),l=!0,(c._container=e).__vue_app__=c,es(r.component)||r.component.proxy}},unmount(){l&&(a(null,c._container),delete c._container.__vue_app__)},provide:(e,t)=>(i.provides[e]=t,c)};return c})};var a,u}function po({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function fo(n,e,r=!1){const o=n.children,s=e.children;if(X(o)&&X(s))for(let t=0;te&&(e.disabled||""===e.disabled),mo=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,vo=(e,t)=>{e=e&&e.to;return ee(e)?t?t(e):null:e};function go(e,t,n,{o:{insert:r},m:o},s=2){0===s&&r(e.targetAnchor,t,n);var{el:e,anchor:i,shapeFlag:l,children:c,props:a}=e,s=2===s;if(s&&r(e,t,n),(!s||ho(a))&&16&l)for(let e=0;e{16&g&&u(y,e,t,o,s,i,l,c)});v?b(n,a):p&&b(p,f)}else{t.el=e.el;const r=t.anchor=e.anchor,u=t.target=e.target,d=t.targetAnchor=e.targetAnchor,m=ho(e.props),g=m?n:u,y=m?r:d;if(i=i||mo(u),b?(f(e.dynamicChildren,b,g,o,s,i,l),fo(e,t,!0)):c||p(e,t,g,y,o,s,i,l,!1),v)m||go(t,n,r,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=vo(t.props,h);e&&go(t,e,null,a,0)}else m&&go(t,u,d,a,1)}},remove(t,n,r,e,{um:o,o:{remove:s}},i){var{shapeFlag:t,children:l,anchor:c,targetAnchor:a,target:u,props:p}=t;if(u&&s(a),(i||!ho(p))&&(s(c),16&t))for(let e=0;enull!=e?e:null,Ao=({ref:e,ref_key:t,ref_for:n})=>null!=e?ee(e)||V(e)||Z(e)?{i:c,r:e,k:t,f:!!n}:e:null;function Po(e,t=null,n=null,r=0,o=null,s=e===se?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ro(t),ref:t&&Ao(t),scopeId:Nn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};return l?($o(c,n),128&s&&e.normalize(c)):n&&(c.shapeFlag|=ee(n)?8:16),0m||c,Wo=e=>{(m=e).scope.on()},zo=()=>{m&&m.scope.off(),m=null};function Ko(e){return 4&e.vnode.shapeFlag}let Go,qo,Jo=!1;function Yo(e,t,n){Z(t)?e.render=t:Q(t)&&(e.setupState=qt(t)),Qo(e,n)}function Zo(e){Go=e,qo=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Vr))}}function Qo(e,t){const n=e.type;if(!e.render){if(!t&&Go&&!n.render){const t=n.template;if(t){const{isCustomElement:r,compilerOptions:o}=e.appContext.config,{delimiters:s,compilerOptions:i}=n,l=P(P({isCustomElement:r,delimiters:s},o),i);n.render=Go(t,l)}}e.render=n.render||M,qo&&qo(e)}Wo(e),je(),Br(e),Ue(),zo()}function Xo(t){let e;return{get attrs(){return e=e||(n=t,new Proxy(n.attrs,{get:(e,t)=>(d(n,0,"$attrs"),e[t])}));var n},slots:t.slots,emit:t.emit,expose:e=>{t.exposed=e||{}}}}function es(n){if(n.exposed)return n.exposeProxy||(n.exposeProxy=new Proxy(qt(Lt(n.exposed)),{get:(e,t)=>t in e?e[t]:t in Pr?Pr[t](n):void 0}))}const ts=/(?:^|[-_])(\w)/g;function ns(e,t=!0){return Z(e)?e.displayName||e.name:e.name||t&&e.__name}function rs(e,n,t=!1){let r=ns(n);if(!r&&n.__file){const e=n.__file.match(/([^/\\]+)\.\w+$/);e&&(r=e[1])}if(!r&&e&&e.parent){const t=e=>{for(const t in e)if(e[t]===n)return t};r=t(e.components||e.parent.type.components)||t(e.appContext.components)}return r?r.replace(ts,e=>e.toUpperCase()).replace(/[-_]/g,""):t?"App":"Anonymous"}const os=(n,e)=>{{var[n,r=!1]=[n,Jo];let e,t;var o=Z(n);return t=o?(e=n,M):(e=n.get,n.set),new Qt(e,t,o||!t,r)}};function ss(){const e=Ho();return e.setupContext||(e.setupContext=Xo(e))}function is(e,t,n){var r=arguments.length;return 2===r?Q(t)&&!X(t)?Eo(t)?le(e,null,[t]):le(e,t):le(e,null,t):(3{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const o=t?us.createElementNS("http://www.w3.org/2000/svg",e):us.createElement(e,n?{is:n}:void 0);return"select"===e&&r&&null!=r.multiple&&o.setAttribute("multiple",r.multiple),o},createText:e=>us.createTextNode(e),createComment:e=>us.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>us.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,o,s){var i=n?n.previousSibling:t.lastChild;if(o&&(o===s||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),o!==s&&(o=o.nextSibling););else{ps.innerHTML=r?`${e}`:e;const o=ps.content;if(r){const e=o.firstChild;for(;e.firstChild;)o.appendChild(e.firstChild);o.removeChild(e)}t.insertBefore(o,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ds=/\s*!important$/;function hs(t,n,e){var r;X(e)?e.forEach(e=>hs(t,n,e)):(null==e&&(e=""),n.startsWith("--")?t.setProperty(n,e):(r=function(t,n){const r=vs[n];if(r)return r;let o=te(n);if("filter"!==o&&o in t)return vs[n]=o;o=ye(o);for(let e=0;e{let e=Date.now,t=!1;var n;return"undefined"!=typeof window&&(Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance)),n=navigator.userAgent.match(/firefox\/(\d+)/i),t=!!(n&&Number(n[1])<=53)),[e,t]})();let _s=0;const Ss=Promise.resolve(),xs=()=>{_s=0};function Cs(e,t,n,r){e.addEventListener(t,n,r)}const ws=/(?:Once|Passive|Capture)$/,ks=/^on[a-z]/;function Ts(e,t){const n=or(e);class r extends Ns{constructor(e){super(n,e,t)}}return r.def=n,r}class Ns extends("undefined"!=typeof HTMLElement?HTMLElement:class{}){constructor(e,t={},n){super(),this._def=e,this._props=t,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&n?n(this._createVNode(),this.shadowRoot):this.attachShadow({mode:"open"})}connectedCallback(){this._connected=!0,this._instance||this._resolveDef()}disconnectedCallback(){this._connected=!1,vn(()=>{this._connected||(xi(null,this.shadowRoot),this._instance=null)})}_resolveDef(){if(!this._resolved){this._resolved=!0;for(let e=0;e{for(const t of e)this._setAttr(t.attributeName)}).observe(this,{attributes:!0});const e=e=>{const{props:t,styles:n}=e,r=!X(t),o=t?r?Object.keys(t):t:[];let s;if(r)for(const i in this._props){const e=t[i];(e===Number||e&&e.type===Number)&&(this._props[i]=Ce(this._props[i]),(s=s||Object.create(null))[i]=!0)}this._numberProps=s;for(const l of Object.keys(this))"_"!==l[0]&&this._setProp(l,this[l],!0,!1);for(const c of o.map(te))Object.defineProperty(this,c,{get(){return this._getProp(c)},set(e){this._setProp(c,e)}});this._applyStyles(n),this._update()},t=this._def.__asyncLoader;t?t().then(e):e(this._def)}}_setAttr(e){let t=this.getAttribute(e);this._numberProps&&this._numberProps[e]&&(t=Ce(t)),this._setProp(te(e),t,!1)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!0){t!==this._props[e]&&(this._props[e]=t,r&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(ge(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(ge(e),t+""):t||this.removeAttribute(ge(e))))}_update(){xi(this._createVNode(),this.shadowRoot)}_createVNode(){const e=le(this._def,P({},this._props));return this._instance||(e.ce=e=>{(this._instance=e).isCE=!0,e.emit=(e,...t)=>{this.dispatchEvent(new CustomEvent(e,{detail:t}))};let t=this;for(;t=t&&(t.parentNode||t.host);)if(t instanceof Ns){e.parent=t._instance;break}}),e}_applyStyles(e){e&&e.forEach(e=>{const t=document.createElement("style");t.textContent=e,this.shadowRoot.appendChild(t)})}}function Es(e,t){if(1===e.nodeType){const n=e.style;for(const e in t)n.setProperty("--"+e,t[e])}}const Os="transition",Fs="animation",Rs=(e,{slots:t})=>is(Zn,Is(e),t),As=(Rs.displayName="Transition",{name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String}),Ps=Rs.props=P({},Zn.props,As),Ms=(e,t=[])=>{X(e)?e.forEach(e=>e(...t)):e&&e(...t)},Vs=e=>!!e&&(X(e)?e.some(e=>1{$s(e,t?u:l),$s(e,t?a:o),n&&n()},T=(e,t)=>{e._isLeaving=!1,$s(e,p),$s(e,d),$s(e,f),t&&t()},N=o=>(e,t)=>{const n=o?C:y,r=()=>k(e,o,t);Ms(n,[e,r]),js(()=>{$s(e,o?c:i),Ls(e,o?u:l),Vs(n)||Ds(e,s,m,r)})};return P(t,{onBeforeEnter(e){Ms(g,[e]),Ls(e,i),Ls(e,o)},onBeforeAppear(e){Ms(x,[e]),Ls(e,c),Ls(e,a)},onEnter:N(!1),onAppear:N(!0),onLeave(e,t){e._isLeaving=!0;const n=()=>T(e,t);Ls(e,p),Ks(),Ls(e,f),js(()=>{e._isLeaving&&($s(e,p),Ls(e,d),Vs(_)||Ds(e,s,v,n))}),Ms(_,[e,n])},onEnterCancelled(e){k(e,!1),Ms(b,[e])},onAppearCancelled(e){k(e,!0),Ms(w,[e])},onLeaveCancelled(e){T(e),Ms(S,[e])}})}function Bs(e){return Ce(e)}function Ls(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.add(e)),(t._vtc||(t._vtc=new Set)).add(e)}function $s(t,e){e.split(/\s+/).forEach(e=>e&&t.classList.remove(e));const n=t["_vtc"];n&&(n.delete(e),n.size||(t._vtc=void 0))}function js(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Us=0;function Ds(t,e,n,r){const o=t._endId=++Us,s=()=>{o===t._endId&&r()};if(n)return setTimeout(s,n);const{type:i,timeout:l,propCount:c}=Hs(t,e);if(!i)return r();const a=i+"end";let u=0;const p=()=>{t.removeEventListener(a,f),s()},f=e=>{e.target===t&&++u>=c&&p()};setTimeout(()=>{u(n[e]||"").split(", "),o=r("transitionDelay"),s=r("transitionDuration"),i=Ws(o,s),l=r("animationDelay"),c=r("animationDuration"),a=Ws(l,c);let u=null,p=0,f=0;return t===Os?0zs(e)+zs(n[t])))}function zs(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Ks(){document.body.offsetHeight}const Gs=new WeakMap,qs=new WeakMap,Js={name:"TransitionGroup",props:P({},Ps,{tag:String,moveClass:String}),setup(n,{slots:r}){const s=Ho(),o=Yn();let i,l;return _r(()=>{if(i.length){const o=n.moveClass||`${n.name||"v"}-move`;if(function(e,t,n){const r=e.cloneNode(),o=(e._vtc&&e._vtc.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display="none",1===t.nodeType?t:t.parentNode);o.appendChild(r);e=Hs(r).hasTransform;return o.removeChild(r),e}(i[0].el,s.vnode.el,o)){i.forEach(Ys),i.forEach(Zs);const e=i.filter(Qs);Ks(),e.forEach(e=>{const t=e.el,n=t.style,r=(Ls(t,o),n.transform=n.webkitTransform=n.transitionDuration="",t._moveCb=e=>{e&&e.target!==t||e&&!/transform$/.test(e.propertyName)||(t.removeEventListener("transitionend",r),t._moveCb=null,$s(t,o))});t.addEventListener("transitionend",r)})}}}),()=>{var e=ne(n),t=Is(e),e=e.tag||se;i=l,l=r.default?rr(r.default()):[];for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return X(t)?e=>Se(t,e):t};function ei(e){e.target.composing=!0}function ti(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ni={created(t,{modifiers:{lazy:e,trim:n,number:r}},o){t._assign=Xs(o);const s=r||o.props&&"number"===o.props.type;Cs(t,e?"change":"input",e=>{if(!e.target.composing){let e=t.value;n&&(e=e.trim()),s&&(e=Ce(e)),t._assign(e)}}),n&&Cs(t,"change",()=>{t.value=t.value.trim()}),e||(Cs(t,"compositionstart",ei),Cs(t,"compositionend",ti),Cs(t,"change",ti))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:o}},s){if(e._assign=Xs(s),!e.composing){if(document.activeElement===e&&"range"!==e.type){if(n)return;if(r&&e.value.trim()===t)return;if((o||"number"===e.type)&&Ce(e.value)===t)return}s=null==t?"":t;e.value!==s&&(e.value=s)}}},ri={deep:!0,created(s,e,t){s._assign=Xs(t),Cs(s,"change",()=>{const e=s._modelValue,t=ci(s),n=s.checked,r=s._assign;if(X(e)){const s=x(e,t),o=-1!==s;if(n&&!o)r(e.concat(t));else if(!n&&o){const t=[...e];t.splice(s,1),r(t)}}else if(H(e)){const s=new Set(e);n?s.add(t):s.delete(t),r(s)}else r(ai(s,n))})},mounted:oi,beforeUpdate(e,t,n){e._assign=Xs(n),oi(e,t,n)}};function oi(e,{value:t,oldValue:n},r){e._modelValue=t,X(t)?e.checked=-1{e._assign(ci(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e._assign=Xs(r),t!==n&&(e.checked=S(t,r.props.value))}},ii={deep:!0,created(t,{value:e,modifiers:{number:n}},r){const o=H(e);Cs(t,"change",()=>{var e=Array.prototype.filter.call(t.options,e=>e.selected).map(e=>n?Ce(ci(e)):ci(e));t._assign(t.multiple?o?new Set(e):e:e[0])}),t._assign=Xs(r)},mounted(e,{value:t}){li(e,t)},beforeUpdate(e,t,n){e._assign=Xs(n)},updated(e,{value:t}){li(e,t)}};function li(n,r){var o=n.multiple;if(!o||X(r)||H(r)){for(let e=0,t=n.options.length;ee.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(t,n)=>fi.some(e=>t[e+"Key"]&&!n.includes(e))},hi={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},mi={beforeMount(e,{value:t},{transition:n}){e._vod="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):vi(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),vi(e,!0),r.enter(e)):r.leave(e,()=>{vi(e,!1)}):vi(e,t))},beforeUnmount(e,{value:t}){vi(e,t)}};function vi(e,t){e.style.display=t?e._vod:"none"}const gi=P({patchProp:(e,t,n,r,o=!1,s,i,l,c)=>{if("class"===t)f=r,g=o,y=(p=e)._vtc,null==(f=y?(f?[f,...y]:[...y]).join(" "):f)?p.removeAttribute("class"):g?p.setAttribute("class",f):p.className=f;else if("style"===t){var a=e,u=(y=n,r);const b=a.style,_=ee(u);if(u&&!_){for(const a in u)hs(b,a,u[a]);if(y&&!ee(y))for(const a in y)null==u[a]&&hs(b,a,"")}else{g=b.display;_?y!==u&&(b.cssText=u):y&&a.removeAttribute("style"),"_vod"in a&&(b.display=g)}}else if(L(t)){if(!$(t)){var[p,f,d,n=null]=[e,t,r,i];const S=p._vei||(p._vei={}),x=S[f];if(d&&x)x.value=d;else{const[C,w]=function(t){let n;if(ws.test(t)){let e;for(n={};e=t.match(ws);)t=t.slice(0,t.length-e[0].length),n[e[0].toLowerCase()]=!0}return[ge(t.slice(2)),n]}(f);if(d){const x=S[f]=function(n){const r=e=>{var t=e.timeStamp||ys();(bs||t>=r.attached-1)&&re(function(e,t){if(X(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(t=>e=>!e._stopped&&t&&t(e))}return t}(e,r.value),n,5,[e])};return r.value=d,r.attached=_s||(Ss.then(xs),_s=ys()),r}(n);Cs(p,C,x,w)}else x&&(n=C,a=x,p.removeEventListener(n,a,w),S[f]=void 0)}}}else if("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):(n=e,m=t,v=r,o?"innerHTML"===m||"textContent"===m||m in n&&ks.test(m)&&Z(v):"spellcheck"!==m&&"draggable"!==m&&"translate"!==m&&("form"!==m&&(("list"!==m||"INPUT"!==n.tagName)&&(("type"!==m||"TEXTAREA"!==n.tagName)&&((!ks.test(m)||!ee(v))&&m in n))))))(function(e,t,n,r){if("innerHTML"===t||"textContent"===t)return r&&c(r,i,l),e[t]=null==n?"":n;if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){const r=null==(e._value=n)?"":n;return e.value===r&&"OPTION"!==e.tagName||(e.value=r),null==n&&e.removeAttribute(t)}let o=!1;if(""===n||null==n){const r=typeof e[t];"boolean"==r?n=R(n):null==n&&"string"==r?(n="",o=!0):"number"==r&&(n=0,o=!0)}try{e[t]=n}catch(e){}o&&e.removeAttribute(t)})(e,t,r,s);else{"true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r),v=e,m=t,n=r;var h=o;if(h&&m.startsWith("xlink:"))null==n?v.removeAttributeNS(gs,m.slice(6,m.length)):v.setAttributeNS(gs,m,n);else{const h=F(m);null==n||h&&!R(n)?v.removeAttribute(m):v.setAttribute(m,h?"":n)}}var m,v,g,y}},fs);let yi,bi=!1;function _i(){return yi=yi||co(gi)}function Si(){return yi=bi?yi:ao(gi),bi=!0,yi}const xi=(...e)=>{_i().render(...e)},Ci=(...e)=>{Si().hydrate(...e)};function wi(e){return ee(e)?document.querySelector(e):e}var ki,Ti=M;function Ni(e){throw e}function Ei(e){}function Oi(e,t){const n=new SyntaxError(String(e));return n.code=e,n.loc=t,n}const Fi=Symbol(""),Ri=Symbol(""),Ai=Symbol(""),Pi=Symbol(""),Mi=Symbol(""),Vi=Symbol(""),Ii=Symbol(""),Bi=Symbol(""),Li=Symbol(""),$i=Symbol(""),ji=Symbol(""),Ui=Symbol(""),Di=Symbol(""),Hi=Symbol(""),Wi=Symbol(""),zi=Symbol(""),Ki=Symbol(""),Gi=Symbol(""),qi=Symbol(""),Ji=Symbol(""),Yi=Symbol(""),Zi=Symbol(""),Qi=Symbol(""),Xi=Symbol(""),el=Symbol(""),tl=Symbol(""),nl=Symbol(""),rl=Symbol(""),ol=Symbol(""),sl=Symbol(""),il=Symbol(""),ll=Symbol(""),cl=Symbol(""),al=Symbol(""),ul=Symbol(""),pl=Symbol(""),fl=Symbol(""),dl=Symbol(""),hl=Symbol(""),ml={[Fi]:"Fragment",[Ri]:"Teleport",[Ai]:"Suspense",[Pi]:"KeepAlive",[Mi]:"BaseTransition",[Vi]:"openBlock",[Ii]:"createBlock",[Bi]:"createElementBlock",[Li]:"createVNode",[$i]:"createElementVNode",[ji]:"createCommentVNode",[Ui]:"createTextVNode",[Di]:"createStaticVNode",[Hi]:"resolveComponent",[Wi]:"resolveDynamicComponent",[zi]:"resolveDirective",[Ki]:"resolveFilter",[Gi]:"withDirectives",[qi]:"renderList",[Ji]:"renderSlot",[Yi]:"createSlots",[Zi]:"toDisplayString",[Qi]:"mergeProps",[Xi]:"normalizeClass",[el]:"normalizeStyle",[tl]:"normalizeProps",[nl]:"guardReactiveProps",[rl]:"toHandlers",[ol]:"camelize",[sl]:"capitalize",[il]:"toHandlerKey",[ll]:"setBlockTracking",[cl]:"pushScopeId",[al]:"popScopeId",[ul]:"withCtx",[pl]:"unref",[fl]:"isRef",[dl]:"withMemo",[hl]:"isMemoSame"},I={source:"",start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0}};function vl(e,t,n,r,o,s,i,l=!1,c=!1,a=!1,u=I){return e&&(l?(e.helper(Vi),e.helper(Ul(e.inSSR,a))):e.helper(jl(e.inSSR,a)),i&&e.helper(Gi)),{type:13,tag:t,props:n,children:r,patchFlag:o,dynamicProps:s,directives:i,isBlock:l,disableTracking:c,isComponent:a,loc:u}}function gl(e,t=I){return{type:17,loc:t,elements:e}}function yl(e,t=I){return{type:15,loc:t,properties:e}}function k(e,t){return{type:16,loc:I,key:ee(e)?T(e,!0):e,value:t}}function T(e,t=!1,n=I,r=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:r}}function bl(e,t=I){return{type:8,loc:t,children:e}}function N(e,t=[],n=I){return{type:14,loc:n,callee:e,arguments:t}}function _l(e,t,n=!1,r=!1,o=I){return{type:18,params:e,returns:t,newline:n,isSlot:r,loc:o}}function Sl(e,t,n,r=!0){return{type:19,test:e,consequent:t,alternate:n,newline:r,loc:I}}const E=e=>4===e.type&&e.isStatic,xl=(e,t)=>e===t||e===ge(t);function Cl(e){return xl(e,"Teleport")?Ri:xl(e,"Suspense")?Ai:xl(e,"KeepAlive")?Pi:xl(e,"BaseTransition")?Mi:void 0}const wl=/^\d|[^\$\w]/,kl=e=>!wl.test(e),Tl=/[A-Za-z_$\xA0-\uFFFF]/,Nl=/[\.\?\w$\xA0-\uFFFF]/,El=/\s+[.[]\s*|\s*[.[]\s+/g,Ol=t=>{t=t.trim().replace(El,e=>e.trim());let n=0,r=[],o=0,s=0,i=null;for(let e=0;e4===e.key.type&&e.key.content===n)}e||s.properties.unshift(t),r=s}else r=N(n.helper(Qi),[yl([t]),s]),o&&o.callee===nl&&(o=i[i.length-2]);13===e.type?o?o.arguments[0]=r:e.props=r:o?o.arguments[0]=r:e.arguments[2]=r}function Wl(n,e){return`_${e}_`+n.replace(/[^\w]/g,(e,t)=>"-"===e?"_":n.charCodeAt(t).toString())}function zl(e,{helper:t,removeHelper:n,inSSR:r}){e.isBlock||(e.isBlock=!0,n(jl(r,e.isComponent)),t(Vi),t(Ul(r,e.isComponent)))}const Kl=/&(gt|lt|amp|apos|quot);/g,Gl={gt:">",lt:"<",amp:"&",apos:"'",quot:'"'},ql={delimiters:["{{","}}"],getNamespace:()=>0,getTextMode:()=>0,isVoidTag:w,isPreTag:w,isCustomElement:w,decodeEntities:e=>e.replace(Kl,(e,t)=>Gl[t]),onError:Ni,onWarn:Ei,comments:!1};function Jl(n,r,e){const o=oc(e),s=o?o.ns:0,i=[];for(;!function(e,t,n){var r=e.source;switch(t){case 0:if(p(r,""))return 1}return!r}(n,r,e);){const l=n.source;let t;if(0===r||1===r)if(!n.inVPre&&p(l,n.options.delimiters[0]))t=function(e,t){var[n,r]=e.options.delimiters,o=e.source.indexOf(r,n.length);if(-1!==o){var s=nc(e);h(e,n.length);const i=nc(e),l=nc(e),c=o-n.length,a=e.source.slice(0,c),u=tc(e,c,t),p=u.trim(),f=u.indexOf(p);return 0/.exec(n.source);if(s){o=n.source.slice(4,s.index);const r=n.source.slice(0,s.index);let e=1,t=0;for(;-1!==(t=r.indexOf("\x3c!--",e));)h(n,t-e+1),e=t+1;h(n,s.index+s[0].length-e+1)}else o=n.source.slice(4),h(n,n.source.length);return{type:3,content:o,loc:rc(n,r)}}(n):!p(l,""===l[2]){h(n,3);continue}if(/[a-z]/i.test(l[2])){Xl(n,1,o);continue}t=Zl(n)}}else/[a-z]/i.test(l[1])?t=function(e,t){const n=e.inPre,r=e.inVPre,o=oc(t),s=Xl(e,0,o),i=e.inPre&&!n,l=e.inVPre&&!r;if(s.isSelfClosing||e.options.isVoidTag(s.tag))return i&&(e.inPre=!1),l&&(e.inVPre=!1),s;t.push(s);var c=e.options.getTextMode(s,o),c=Jl(e,c,t);if(t.pop(),s.children=c,lc(e.source,s.tag))Xl(e,1,o);else if(0===e.source.length&&"script"===s.tag.toLowerCase()){const e=c[0];e&&p(e.loc.source,"\x3c!--")}return s.loc=rc(e,s.loc.start),i&&(e.inPre=!1),l&&(e.inVPre=!1),s}(n,e):"?"===l[1]&&(t=Zl(n));if(t=t||function(t,n){var r=3===n?["]]>"]:["<",t.options.delimiters[0]];let o=t.source.length;for(let e=0;en&&(o=n)}var e=nc(t);return{type:2,content:tc(t,o,n),loc:rc(t,e)}}(n,r),X(t))for(let e=0;e");return-1===o?(r=e.source.slice(n),h(e,e.source.length)):(r=e.source.slice(n,o),h(e,o+1)),{type:3,content:r,loc:rc(e,t)}}const Ql=e("if,else,else-if,for,slot");function Xl(r,e,t){var n=nc(r),o=/^<\/?([a-z][^\t\r\n\f />]*)/i.exec(r.source),s=o[1],t=r.options.getNamespace(s,t),o=(h(r,o[0].length),sc(r),nc(r)),i=r.source;r.options.isPreTag(s)&&(r.inPre=!0);let l=ec(r,e),c=(0===e&&!r.inVPre&&l.some(e=>7===e.type&&"pre"===e.name)&&(r.inVPre=!0,P(r,o),r.source=i,l=ec(r,e).filter(e=>"v-pre"!==e.name)),!1);if(0!==r.source.length&&(c=p(r.source,"/>"),h(r,c?2:1)),1!==e){let e=0;return r.inVPre||("slot"===s?e=2:"template"===s?l.some(e=>7===e.type&&Ql(e.name))&&(e=3):function(t,n){const e=r.options;if(!e.isCustomElement(t)){if("component"===t||/^[A-Z]/.test(t)||Cl(t)||e.isBuiltInComponent&&e.isBuiltInComponent(t)||e.isNativeTag&&!e.isNativeTag(t))return 1;for(let e=0;e")&&!p(e.source,"/>");)if(p(e.source,"/"))h(e,1),sc(e);else{const o=function(o,s){const i=nc(o),l=/^[^\t\r\n\f />][^\t\r\n\f />=]*/.exec(o.source)[0];s.has(l),s.add(l);{const o=/["'<]/g;for(;o.exec(l););}let c;h(o,l.length),/^[\t\r\n\f ]*=/.test(o.source)&&(sc(o),h(o,1),sc(o),c=function(e){const t=nc(e);let n;const r=e.source[0],o='"'===r||"'"===r;if(o){h(e,1);const t=e.source.indexOf(r);-1===t?n=tc(e,e.source.length,4):(n=tc(e,t,4),h(e,1))}else{const t=/^[^\t\r\n\f >]+/.exec(e.source);if(!t)return;const r=/["'<=`]/g;for(;r.exec(t[0]););n=tc(e,t[0].length,4)}return{content:n,isQuoted:o,loc:rc(e,t)}}(o));const a=rc(o,i);if(o.inVPre||!/^(v-[A-Za-z0-9-]|:|\.|@|#)/.test(l))return o.inVPre||p(l,"v-"),{type:6,name:l,value:c&&{type:2,content:c.content,loc:c.loc},loc:a};{const s=/(?:^v-([a-z0-9-]+))?(?:(?::|^\.|^@|^#)(\[[^\]]+\]|[^\.]+))?(.+)?$/i.exec(l);let n,e=p(l,"."),r=s[1]||(e||p(l,":")?"bind":p(l,"@")?"on":"slot");if(s[2]){const c="slot"===r,a=l.lastIndexOf(s[2]),u=rc(o,ic(o,i,a),ic(o,i,a+s[2].length+(c&&s[3]||"").length));let e=s[2],t=!0;e.startsWith("[")?(t=!1,e=e.endsWith("]")?e.slice(1,e.length-1):e.slice(1)):c&&(e+=s[3]||""),n={type:4,content:e,isStatic:t,constType:t?3:0,loc:u}}if(c&&c.isQuoted){const o=c.loc;o.start.offset++,o.start.column++,o.end=Rl(o.start,c.content),o.source=o.source.slice(1,-1)}const t=s[3]?s[3].slice(1).split("."):[];return e&&t.push("prop"),{type:7,name:r,exp:c&&{type:4,content:c.content,isStatic:!1,constType:0,loc:c.loc},arg:n,modifiers:t,loc:a}}}(e,r);6===o.type&&o.value&&"class"===o.name&&(o.value.content=o.value.content.replace(/\s+/g," ").trim()),0===t&&n.push(o),/^[^\t\r\n\f />]/.test(e.source),sc(e)}return n}function tc(e,t,n){const r=e.source.slice(0,t);return h(e,t),2!==n&&3!==n&&r.includes("&")?e.options.decodeEntities(r,4===n):r}function nc(e){var{column:e,line:t,offset:n}=e;return{column:e,line:t,offset:n}}function rc(e,t,n){return{start:t,end:n=n||nc(e),source:e.originalSource.slice(t.offset,n.offset)}}function oc(e){return e[e.length-1]}function p(e,t){return e.startsWith(t)}function h(e,t){const n=e["source"];Al(e,n,t),e.source=n.slice(t)}function sc(e){var t=/^[\t\r\n\f ]+/.exec(e.source);t&&h(e,t[0].length)}function ic(e,t,n){return Rl(t,e.originalSource.slice(t.offset,n),n)}function lc(e,t){return p(e,"]/.test(e[2+t.length]||">")}function cc(e,t){!function t(n,r,o=!1){const s=n["children"],e=s.length;let i=0;for(let e=0;e"_"+ml[C.helper(e)],replaceNode(e){C.parent.children[C.childIndex]=C.currentNode=e},removeNode(e){var t=e?C.parent.children.indexOf(e):C.currentNode?C.childIndex:-1;e&&e!==C.currentNode?C.childIndex>t&&(C.childIndex--,C.onNodeRemoved()):(C.currentNode=null,C.onNodeRemoved()),C.parent.children.splice(t,1)},onNodeRemoved:()=>{},addIdentifiers(e){},removeIdentifiers(e){},hoist(e){ee(e)&&(e=T(e)),C.hoists.push(e);const t=T("_hoisted_"+C.hoists.length,!1,e.loc,2);return t.hoisted=e,t},cache:(e,t=!1)=>{var[e,t,n=!1]=[C.cached++,e,t];return{type:20,index:e,value:t,isVNode:n,loc:I}}};return C}function mc(t,n){n.currentNode=t;const r=n["nodeTransforms"],o=[];for(let e=0;e{e--};ee===t:e=>t.test(e);return(t,n)=>{if(1===t.type){const o=t["props"];if(3!==t.tagType||!o.some(Bl)){const s=[];for(let e=0;eml[e]+": _"+ml[e];function bc(n,r,{helper:e,push:o,newline:s,isTS:i}){var l=e("component"===r?Hi:zi);for(let t=0;te||"null")}([b,I,B,L,$]),o),v(")"),S&&v(")"),_&&(v(", "),ae(_,o),v(")"))}break;case 14:{s=e;r=t;const{push:x,helper:D,pure:H}=r,W=ee(s.callee)?s.callee:D(s.callee);H&&x(gc),x(W+"(",s),Sc(s.arguments,r),x(")")}break;case 15:!function(t,n){const{push:r,indent:o,deindent:e,newline:s}=n,i=t["properties"];if(!i.length)return r("{}",t);t=1 "),(N||T)&&(C("{"),z()),k?(N&&C("return "),(X(k)?_c:ae)(k,i)):T&&ae(T,i),(N||T)&&(K(),C("}")),E&&C(")")}break;case 19:{var l=e;i=t;const{test:O,consequent:G,alternate:F,newline:R}=l,{push:A,indent:q,deindent:J,newline:Y}=i;if(4===O.type){const l=!kl(O.content);l&&A("("),xc(O,i),l&&A(")")}else A("("),ae(O,i),A(")");R&&q(),i.indentLevel++,R||A(" "),A("? "),ae(G,i),i.indentLevel--,R&&Y(),R||A(" "),A(": ");l=19===F.type;l||i.indentLevel++,ae(F,i),l||i.indentLevel--,R&&J(!0)}break;case 20:{l=e;var c=t;const{push:P,helper:M,indent:Z,deindent:Q,newline:V}=c;P(`_cache[${l.index}] || (`),l.isVNode&&(Z(),P(M(ll)+"(-1),"),V()),P(`_cache[${l.index}] = `),ae(l.value,c),l.isVNode&&(P(","),V(),P(M(ll)+"(1),"),V(),P(`_cache[${l.index}]`),Q()),P(")")}break;case 21:Sc(e.body,t,!0,!1)}var a}function xc(e,t){var{content:n,isStatic:r}=e;t.push(r?JSON.stringify(n):n,e)}function Cc(t,n){for(let e=0;e{var n=e,r=t,o=i,s=(e,t,n)=>{const r=i.parent.children;let o=r.indexOf(e),s=0;for(;0<=o--;){const e=r[o];e&&9===e.type&&(s+=e.branches.length)}return()=>{if(n)e.codegenNode=Tc(t,s,i);else{const n=function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode);n.alternate=Tc(t,s+e.branches.length-1,i)}}};if("else"===r.name||r.exp&&r.exp.content.trim()||(r.exp=T("true",!1,(r.exp||n).loc)),"if"===r.name)return e=kc(n,r),t={type:9,loc:n.loc,branches:[e]},o.replaceNode(t),s(t,e,!0);{const c=o.parent.children;let e=c.indexOf(n);for(;-1<=e--;){const a=c[e];if(!a||2!==a.type||a.content.trim().length){if(a&&9===a.type){o.removeNode();var l=kc(n,r);a.branches.push(l);const u=s(a,l,!1);mc(l,o),u&&u(),o.currentNode=null}break}o.removeNode(a)}}});function kc(e,t){var n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!Pl(e,"for")?e.children:[e],userKey:Ml(e,"key"),isTemplateIf:n}}function Tc(e,t,n){return e.condition?Sl(e.condition,Nc(e,t,n),N(n.helper(ji),['""',"true"])):Nc(e,t,n)}function Nc(e,t,n){const r=n["helper"],o=k("key",T(""+t,!1,I,2)),s=e["children"],i=s[0];if(1!==s.length||1!==i.type){if(1===s.length&&11===i.type){const e=i.codegenNode;return Hl(e,o,n),e}return vl(n,r(Fi),yl([o]),s,"64",void 0,void 0,!0,!1,!1,e.loc)}{const e=i.codegenNode,t=14===(l=e).type&&l.callee===dl?l.arguments[1].returns:l;return 13===t.type&&zl(t,n),Hl(t,o,n),e}var l}const Ec=vc("for",(p,e,f)=>{const{helper:d,removeHelper:h}=f;var t=p,n=f,r=o=>{const s=N(d(qi),[o.source]),i=Ll(p),l=Pl(p,"memo"),e=Ml(p,"key"),c=e&&(6===e.type?T(e.value.content,!0):e.exp),a=e?k("key",c):null,u=4===o.source.type&&0{let e;var t=o["children"],n=1!==t.length||1!==t[0].type,r=$l(p)?p:i&&1===p.children.length&&$l(p.children[0])?p.children[0]:null;if(r?(e=r.codegenNode,i&&a&&Hl(e,a,f)):n?e=vl(f,d(Fi),a?yl([a]):void 0,p.children,"64",void 0,void 0,!0,void 0,!1):(e=t[0].codegenNode,i&&a&&Hl(e,a,f),e.isBlock!==!u&&(e.isBlock?(h(Vi),h(Ul(f.inSSR,e.isComponent))):h(jl(f.inSSR,e.isComponent))),e.isBlock=!u,e.isBlock?(d(Vi),d(Ul(f.inSSR,e.isComponent))):d(jl(f.inSSR,e.isComponent))),l){const p=_l(Mc(o.parseResult,[T("_cached")]));p.body={type:21,body:[bl(["const _memo = (",l.exp,")"]),bl(["if (_cached",...c?[" && _cached.key === ",c]:[],` && ${f.helperString(hl)}(_cached, _memo)) return _cached`]),bl(["const _item = ",e]),T("_item.memo = _memo"),T("return _item")],loc:I},s.arguments.push(p,T("_cache"),T(String(f.cached++)))}else s.arguments.push(_l(Mc(o.parseResult),e,!0))}};if(e.exp){var o=Ac(e.exp);if(o){const s=n["scopes"],{source:i,value:l,key:c,index:a}=o,u={type:11,loc:e.loc,source:i,valueAlias:l,keyAlias:c,objectIndexAlias:a,parseResult:o,children:Ll(t)?t.children:[t]},m=(n.replaceNode(u),s.vFor++,r(u));return()=>{s.vFor--,m&&m()}}}}),Oc=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Fc=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Rc=/^\(|\)$/g;function Ac(n){const r=n.loc,o=n.content,s=o.match(Oc);if(s){const[,e,i]=s,l={source:Pc(r,i.trim(),o.indexOf(i,e.length)),value:void 0,key:void 0,index:void 0};let t=e.trim().replace(Rc,"").trim();const c=e.indexOf(t),a=t.match(Fc);if(a){t=t.replace(Fc,"").trim();const n=a[1].trim();let e;if(n&&(e=o.indexOf(n,c+t.length),l.key=Pc(r,n,e)),a[2]){const s=a[2].trim();s&&(l.index=Pc(r,s,o.indexOf(s,l.key?e+n.length:c+t.length)))}}return t&&(l.value=Pc(r,t,c)),l}}function Pc(e,t,n){return T(t,!1,Fl(e,n,t.length))}function Mc({value:t,key:n,index:r},o=[]){{var s=[t,n,r,...o];let e=s.length;for(;e--&&!s[e];);return s.slice(0,e+1).map((e,t)=>e||T("_".repeat(t+1),!1))}}const Vc=T("undefined",!1),Ic=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)&&Pl(e,"slot"))return t.scopes.vSlot++,()=>{t.scopes.vSlot--}};function Bc(r,o,s=(e,t,n)=>_l(e,t,!1,!0,t.length?t[0].loc:n)){o.helper(ul);const{children:i,loc:n}=r,l=[],c=[];let a=0k("default",s(e,t,n));p?d.length&&d.some(e=>function e(t){return 2!==t.type&&12!==t.type||(2===t.type?!!t.content.trim():e(t.content))}(e))&&(f||l.push(r(void 0,d))):l.push(r(void 0,i))}const g=a?2:function t(n){for(let e=0;efunction(){if(1===(d=h.currentNode).type&&(0===d.tagType||1===d.tagType)){const{tag:u,props:p}=d,f=1===d.tagType;var c=f?function(e,t){let n=e["tag"];const r=Hc(n),o=Ml(e,"is");if(o)if(r){const e=6===o.type?o.value&&T(o.value.content,!0):o.exp;if(e)return N(t.helper(Wi),[e])}else 6===o.type&&o.value.content.startsWith("vue:")&&(n=o.value.content.slice(4));e=!r&&Pl(e,"is");if(e&&e.exp)return N(t.helper(Wi),[e.exp]);e=Cl(n)||t.isBuiltInComponent(n);return e?(t.helper(e),e):(t.helper(Hi),t.components.add(n),Wl(n,"component"))}(d,h):`"${u}"`,a=Q(c)&&c.callee===Wi;let e,t,n,r,o,s,i=0,l=a||c===Ri||c===Ai||!f&&("svg"===u||"foreignObject"===u);if(0{{var t=h;const r=[],o=$c.get(e);o?r.push(t.helperString(o)):(t.helper(zi),t.directives.add(e.name),r.push(Wl(e.name,"directive")));var n=e["loc"];if(e.exp&&r.push(e.exp),e.arg&&(e.exp||r.push("void 0"),r.push(e.arg)),Object.keys(e.modifiers).length){e.arg||(e.exp||r.push("void 0"),r.push("void 0"));const t=T("true",!1,n);r.push(yl(e.modifiers.map(e=>k(e,t)),n))}return gl(r,e.loc)}})):void 0,u.shouldUseBlock&&(l=!0)}if(0{if(E(e)){const n=e.content,r=L(n);!r||s&&!i||"onclick"===n.toLowerCase()||"onUpdate:modelValue"===n||de(n)||(b=!0),r&&de(n)&&(S=!0),20===t.type||(4===t.type||8===t.type)&&0{if($l(t)){const{children:r,loc:o}=t,{slotName:s,slotProps:i}=function(t,n){let e,r='"default"';const o=[];for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/,Kc=(e,t,n,r)=>{var{loc:o,arg:s}=e;let i;if(4===s.type)if(s.isStatic){let e=s.content;e.startsWith("vue:")&&(e="vnode-"+e.slice(4)),i=T(be(te(e)),!0,s.loc)}else i=bl([n.helperString(il)+"(",s,")"]);else(i=s).children.unshift(n.helperString(il)+"("),i.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);s=n.cacheHandlers&&!l&&!n.inVOnce;if(l){const e=Ol(l.content),t=!(e||zc.test(l.content)),n=l.content.includes(";");(t||s&&e)&&(l=bl([`${t?"$event":"(...args)"} => `+(n?"{":"("),l,n?"}":")"]))}let c={props:[k(i,l||T("() => {}",!1,o))]};return r&&(c=r(c)),s&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach(e=>e.key.isHandlerKey=!0),c},Gc=(e,t,n)=>{const{exp:r,modifiers:o,loc:s}=e,i=e.arg;return 4!==i.type?(i.children.unshift("("),i.children.push(') || ""')):i.isStatic||(i.content=i.content+' || ""'),o.includes("camel")&&(4===i.type?i.content=i.isStatic?te(i.content):`${n.helperString(ol)}(${i.content})`:(i.children.unshift(n.helperString(ol)+"("),i.children.push(")"))),n.inSSR||(o.includes("prop")&&qc(i,"."),o.includes("attr")&&qc(i,"^")),!r||4===r.type&&!r.content.trim()?{props:[k(i,T("",!0,s))]}:{props:[k(i,r)]}},qc=(e,t)=>{4===e.type?e.content=e.isStatic?t+e.content:`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},Jc=(e,i)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{const n=e.children;let r,o=!1;for(let t=0;t7===e.type&&!i.directiveTransforms[e.name]))))for(let e=0;e{if(1===e.type&&Pl(e,"once",!0)&&!Yc.has(e)&&!t.inVOnce)return Yc.add(e),t.inVOnce=!0,t.helper(ll),()=>{t.inVOnce=!1;const e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}},Qc=(e,t,n)=>{var{exp:r,arg:o}=e;if(!r)return Xc();const s=r.loc.source,i=4===r.type?r.content:s;if(!i.trim()||!Ol(i))return Xc();var l=o||T("modelValue",!0),c=o?E(o)?"onUpdate:"+o.content:bl(['"onUpdate:" + ',o]):"onUpdate:modelValue",n=bl([`${n.isTS?"($event: any)":"$event"} => ((`,r,") = $event)"]);const a=[k(l,e.exp),k(c,n)];if(e.modifiers.length&&1===t.tagType){const t=e.modifiers.map(e=>(kl(e)?e:JSON.stringify(e))+": true").join(", "),n=o?E(o)?o.content+"Modifiers":bl([o,' + "Modifiers"']):"modelModifiers";a.push(k(n,T(`{ ${t} }`,!1,e.loc,2)))}return Xc(a)};function Xc(e=[]){return{props:e}}const ea=new WeakSet,ta=(t,n)=>{if(1===t.type){const r=Pl(t,"memo");if(r&&!ea.has(t))return ea.add(t),()=>{var e=t.codegenNode||n.currentNode.codegenNode;e&&13===e.type&&(1!==t.tagType&&zl(e,n),t.codegenNode=N(n.helper(dl),[r.exp,_l(void 0,e),"_cache",String(n.cached++)]))}}};function na(e,t={}){const n=t.onError||Ni,r="module"===t.mode;!0===t.prefixIdentifiers?n(Oi(46)):r&&n(Oi(47)),t.cacheHandlers&&n(Oi(48)),t.scopeId&&!r&&n(Oi(49));var o=ee(e)?([o,s={}]=[e,t],s=nc(o=function(e,t){const n=P({},ql);let r;for(r in t)n[r]=(void 0===t[r]?ql:t)[r];return{options:n,column:1,line:1,offset:0,originalSource:e,source:e,inPre:!1,inVPre:!1,onWarn:n.onWarn}}(o,s)),[o,s=I]=[Jl(o,0,[]),rc(o,s)],{type:0,children:o,helpers:[],components:[],directives:[],hoists:[],imports:[],cached:0,temps:0,codegenNode:void 0,loc:s}):e,[s,e]=[[Zc,wc,ta,Ec,Wc,jc,Ic,Jc],{on:Kc,bind:Gc,model:Qc}];{var i=o;e=P({},t,{prefixIdentifiers:!1,nodeTransforms:[...s,...t.nodeTransforms||[]],directiveTransforms:P({},e,t.directiveTransforms||{})});const d=hc(i,e);if(mc(i,d),e.hoistStatic&&cc(i,d),!e.ssr){e=i;var l=d;const h=l["helper"],m=e["children"];if(1===m.length){const h=m[0];if(ac(e,h)&&h.codegenNode){const m=h.codegenNode;13===m.type&&zl(m,l),e.codegenNode=m}else e.codegenNode=h}else 1"_"+ml[e],push(e,t){d.code+=e},indent(){h(++d.indentLevel)},deindent(e=!1){e?--d.indentLevel:h(--d.indentLevel)},newline(){h(d.indentLevel)}};function h(e){d.push("\n"+" ".repeat(e))}return d}(c,l),{mode:g,push:y,prefixIdentifiers:b,indent:_,deindent:S,newline:x,ssr:C}=(l.onContextCreated&&l.onContextCreated(v),v),w=0a.helpers.includes(e)).map(yc).join(", ")} } = _Vue 3 | `);var u=a.hoists,p=l;if(u.length){p.pure=!0;const{push:F,newline:R}=p;R();for(let e=0;e{ml[e]=ki[e]});const ha=e("style,iframe,script,noscript",!0),ma={isVoidTag:_,isNativeTag:e=>y(e)||b(e),isPreTag:e=>"pre"===e,decodeEntities:function(e,t=!1){return da=da||document.createElement("div"),t?(da.innerHTML=`
`,da.children[0].getAttribute("foo")):(da.innerHTML=e,da.textContent)},isBuiltInComponent:e=>xl(e,"Transition")?pa:xl(e,"TransitionGroup")?fa:void 0,getNamespace(e,t){let n=t?t.ns:0;if(t&&2===n)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some(e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content))&&(n=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(n=0);else!t||1!==n||"foreignObject"!==t.tag&&"desc"!==t.tag&&"title"!==t.tag||(n=0);if(0===n){if("svg"===e)return 1;if("math"===e)return 2}return n},getTextMode({tag:e,ns:t}){if(0===t){if("textarea"===e||"title"===e)return 1;if(ha(e))return 2}return 0}},va=e("passive,once,capture"),ga=e("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),ya=e("left,right"),ba=e("onkeyup,onkeydown,onkeypress",!0),_a=(e,t)=>E(e)&&"onclick"===e.content.toLowerCase()?T(t,!0):4!==e.type?bl(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,Sa=(e,t)=>{1!==e.type||0!==e.tagType||"script"!==e.tag&&"style"!==e.tag||t.removeNode()},xa=[n=>{1===n.type&&n.props.forEach((e,t)=>{6===e.type&&"style"===e.name&&e.value&&(n.props[t]={type:7,name:"bind",arg:T("style",!0,e.loc),exp:((e,t)=>{e=v(e);return T(JSON.stringify(e),!1,t,3)})(e.value.content,e.loc),modifiers:[],loc:e.loc})})}],Ca={cloak:()=>({props:[]}),html:(e,t,n)=>{var{exp:e,loc:r}=e;return t.children.length&&(t.children.length=0),{props:[k(T("innerHTML",!0,r),e||T("",!0))]}},text:(e,t,n)=>{var{exp:e,loc:r}=e;return t.children.length&&(t.children.length=0),{props:[k(T("textContent",!0),e?0{const s=Qc(n,r,o);if(!s.props.length||1===r.tagType)return s;var n=r["tag"],i=o.isCustomElement(n);if("input"===n||"textarea"===n||"select"===n||i){let e=sa,t=!1;if("input"===n||i){const o=Ml(r,"type");if(o){if(7===o.type)e=la;else if(o.value)switch(o.value.content){case"radio":e=ra;break;case"checkbox":e=oa;break;case"file":t=!0}}else r.props.some(e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic))&&(e=la)}else"select"===n&&(e=ia);t||(s.needRuntime=o.helper(e))}return s.props=s.props.filter(e=>!(4===e.key.type&&"modelValue"===e.key.content)),s},on:(l,e,c)=>Kc(l,0,c,e=>{var t=l["modifiers"];if(!t.length)return e;let{key:n,value:r}=e.props[0];const{keyModifiers:o,nonKeyModifiers:s,eventOptionModifiers:i}=((t,n)=>{const r=[],o=[],s=[];for(let e=0;e({props:[],needRuntime:n.helper(ua)})},wa=Object.create(null);function ka(e,t){if(!ee(e)){if(!e.nodeType)return M;e=e.innerHTML}var n=e,r=wa[n];if(r)return r;if("#"===e[0]){const t=document.querySelector(e);e=t?t.innerHTML:""}const o=([r,e={}]=[e,P({hoistStatic:!0,onError:void 0,onWarn:M},t)],na(r,P({},ma,e,{nodeTransforms:[Sa,...xa,...e.nodeTransforms||[]],directiveTransforms:P({},Ca,e.directiveTransforms||{}),transformHoist:null})))["code"],s=new Function(o)();return s._rc=!0,wa[n]=s}return Zo(ka),r.BaseTransition=Zn,r.Comment=ie,r.EffectScope=ke,r.Fragment=se,r.KeepAlive=cr,r.ReactiveEffect=Ie,r.Static=_o,r.Suspense=In,r.Teleport=yo,r.Text=bo,r.Transition=Rs,r.TransitionGroup=Js,r.VueElement=Ns,r.callWithAsyncErrorHandling=re,r.callWithErrorHandling=tn,r.camelize=te,r.capitalize=ye,r.cloneVNode=Vo,r.compatUtils=null,r.compile=ka,r.computed=os,r.createApp=(...e)=>{const r=_i().createApp(...e),o=r["mount"];return r.mount=e=>{const t=wi(e);if(t){const n=r._component;Z(n)||n.render||n.template||(n.template=t.innerHTML),t.innerHTML="";e=o(t,!1,t instanceof SVGElement);return t instanceof Element&&(t.removeAttribute("v-cloak"),t.setAttribute("data-v-app","")),e}},r},r.createBlock=No,r.createCommentVNode=function(e="",t=!1){return t?(xo(),No(ie,null,e)):le(ie,null,e)},r.createElementBlock=function(e,t,n,r,o,s){return To(Po(e,t,n,r,o,s,!0))},r.createElementVNode=Po,r.createHydrationRenderer=ao,r.createPropsRestProxy=function(e,t){var n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n},r.createRenderer=co,r.createSSRApp=(...e)=>{const t=Si().createApp(...e),n=t["mount"];return t.mount=e=>{e=wi(e);if(e)return n(e,!0,e instanceof SVGElement)},t},r.createSlots=function(t,n){for(let e=0;e{let t;return p||(t=p=n().catch(n=>{if(n=n instanceof Error?n:new Error(String(n)),r)return new Promise((e,t)=>{r(n,()=>e((o++,p=null,f())),()=>t(n),o+1)});throw n}).then(e=>t!==p&&p?p:(e&&(e.__esModule||"Module"===e[Symbol.toStringTag])&&(e=e.default),u=e)))};return or({name:"AsyncComponentWrapper",__asyncLoader:f,get __asyncResolved(){return u},setup(){const t=m;if(u)return()=>ir(u,t);const n=e=>{p=null,nn(e,t,13,!i)};if(a&&t.suspense)return f().then(e=>()=>ir(e,t)).catch(e=>(n(e),()=>i?le(i,{error:e}):null));const r=Ht(!1),o=Ht(),e=Ht(!!l);return l&&setTimeout(()=>{e.value=!1},l),null!=c&&setTimeout(()=>{var e;r.value||o.value||(e=new Error(`Async component timed out after ${c}ms.`),n(e),o.value=e)},c),f().then(()=>{r.value=!0,t.parent&&lr(t.parent.vnode)&&gn(t.parent.update)}).catch(e=>{n(e),o.value=e}),()=>r.value&&u?ir(u,t):o.value&&i?le(i,{error:o.value}):s&&!e.value?le(s):void 0}})},r.defineComponent=or,r.defineCustomElement=Ts,r.defineEmits=function(){return null},r.defineExpose=function(e){},r.defineProps=function(){return null},r.defineSSRCustomElement=e=>Ts(e,Ci),r.effect=function(e,t){e.effect&&(e=e.effect.fn);const n=new Ie(e),r=(t&&(P(n,t),t.scope&&Te(n,t.scope)),t&&t.lazy||n.run(),n.run.bind(n));return r.effect=n,r},r.effectScope=function(e){return new ke(e)},r.getCurrentInstance=Ho,r.getCurrentScope=function(){return n},r.getTransitionRawChildren=rr,r.guardReactiveProps=Mo,r.h=is,r.handleError=nn,r.hydrate=Ci,r.initCustomFormatter=function(){},r.initDirectivesForSSR=Ti,r.inject=Hn,r.isMemoSame=cs,r.isProxy=Bt,r.isReactive=Mt,r.isReadonly=Vt,r.isRef=V,r.isRuntimeOnly=()=>!Go,r.isShallow=It,r.isVNode=Eo,r.markRaw=Lt,r.mergeDefaults=function(e,t){const n=X(e)?e.reduce((e,t)=>(e[t]={},e),{}):e;for(const r in t){const e=n[r];e?X(e)||Z(e)?n[r]={type:e,default:t[r]}:e.default=t[r]:null===e&&(n[r]={default:t[r]})}return n},r.mergeProps=jo,r.nextTick=vn,r.normalizeClass=g,r.normalizeProps=function(e){if(!e)return null;var{class:t,style:n}=e;return t&&!ee(t)&&(e.class=g(t)),n&&(e.style=l(n)),e},r.normalizeStyle=l,r.onActivated=ur,r.onBeforeMount=gr,r.onBeforeUnmount=Sr,r.onBeforeUpdate=br,r.onDeactivated=pr,r.onErrorCaptured=Tr,r.onMounted=yr,r.onRenderTracked=kr,r.onRenderTriggered=wr,r.onScopeDispose=function(e){n&&n.cleanups.push(e)},r.onServerPrefetch=Cr,r.onUnmounted=xr,r.onUpdated=_r,r.openBlock=xo,r.popScopeId=function(){Nn=null},r.provide=Dn,r.proxyRefs=qt,r.pushScopeId=function(e){Nn=e},r.queuePostFlushCb=_n,r.reactive=Ft,r.readonly=At,r.ref=Ht,r.registerRuntimeCompiler=Zo,r.render=xi,r.renderList=function(n,r,o,e){let s;const i=o&&o[e];if(X(n)||ee(n)){s=new Array(n.length);for(let e=0,t=n.length;er(e,t,void 0,i&&i[t]));else{const o=Object.keys(n);s=new Array(o.length);for(let e=0,t=o.length;e!Eo(e)||e.type!==ie&&!(e.type===se&&!t(e.children)))?e:null}(s(n)),l=No(se,{key:n.key||"_"+t},i||(r?r():[]),i&&1===e._?64:-2);return!o&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l},r.resolveComponent=function(e,t){return Fr(Er,e,0,t)||e},r.resolveDirective=function(e){return Fr("directives",e)},r.resolveDynamicComponent=function(e){return ee(e)?Fr(Er,e)||e:e||Or},r.resolveFilter=null,r.resolveTransitionHooks=Xn,r.setBlockTracking=ko,r.setDevtoolsHook=function t(e,n){r.devtools=e,r.devtools?(r.devtools.enabled=!0,kn.forEach(({event:e,args:t})=>r.devtools.emit(e,...t)),kn=[]):"undefined"==typeof window||!window.HTMLElement||null!=(e=null==(e=window.navigator)?void 0:e.userAgent)&&e.includes("jsdom")?kn=[]:((n.__VUE_DEVTOOLS_HOOK_REPLAY__=n.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{t(e,n)}),setTimeout(()=>{r.devtools||(n.__VUE_DEVTOOLS_HOOK_REPLAY__=null,kn=[])},3e3))},r.setTransitionHooks=nr,r.shallowReactive=Rt,r.shallowReadonly=function(e){return Pt(e,!0,ot,kt,Ot)},r.shallowRef=function(e){return Wt(e,!0)},r.ssrContextKey=ls,r.ssrUtils=null,r.stop=function(e){e.effect.stop()},r.toDisplayString=e=>ee(e)?e:null==e?"":X(e)||Q(e)&&(e.toString===z||!Z(e.toString))?JSON.stringify(e,C,2):String(e),r.toHandlerKey=be,r.toHandlers=function(e){const t={};for(const n in e)t[be(n)]=e[n];return t},r.toRaw=ne,r.toRef=Zt,r.toRefs=function(e){const t=X(e)?new Array(e.length):{};for(const n in e)t[n]=Zt(e,n);return t},r.transformVNodeArgs=function(e){},r.triggerRef=function(e){Dt(e)},r.unref=Kt,r.useAttrs=function(){return ss().attrs},r.useCssModule=function(e=0){return A},r.useCssVars=function(e){const t=Ho();if(t){const n=()=>function t(n,r){if(128&n.shapeFlag){const e=n.suspense;n=e.activeBranch,e.pendingBranch&&!e.isHydrating&&e.effects.push(()=>{t(e.activeBranch,r)})}for(;n.component;)n=n.component.subTree;if(1&n.shapeFlag&&n.el)Es(n.el,r);else if(n.type===se)n.children.forEach(e=>t(e,r));else if(n.type===_o){let{el:e,anchor:t}=n;for(;e&&(Es(e,r),e!==t);)e=e.nextSibling}}(t.subTree,e(t.proxy));Wn(n),yr(()=>{const e=new MutationObserver(n);e.observe(t.subTree.el.parentNode,{childList:!0}),xr(()=>e.disconnect())})}},r.useSSRContext=()=>{},r.useSlots=function(){return ss().slots},r.useTransitionState=Yn,r.vModelCheckbox=ri,r.vModelDynamic=ui,r.vModelRadio=si,r.vModelSelect=ii,r.vModelText=ni,r.vShow=mi,r.version=as,r.warn=function(e,...t){je();const n=Xt.length?Xt[Xt.length-1].component:null,r=n&&n.appContext.config.warnHandler,o=function(){let e=Xt[Xt.length-1];if(!e)return[];const t=[];for(;e;){const r=t[0];r&&r.vnode===e?r.recurseCount++:t.push({vnode:e,recurseCount:0});var n=e.component&&e.component.parent;e=n&&n.vnode}return t}();if(r)tn(r,n,11,[e+t.join(""),n&&n.proxy,o.map(({vnode:e})=>`at <${rs(n,e.type)}>`).join("\n"),o]);else{const n=["[Vue warn]: "+e,...t];o.length&&n.push("\n",...function(e){const r=[];return e.forEach((e,t)=>{var n;r.push(...0===t?[]:["\n"],...({vnode:t,recurseCount:e}=[e][0],e=0"+e,t.props?[n,...en(t.props),e]:[n+e]))}),r}(o)),console.warn(...n)}Ue()},r.watch=Kn,r.watchEffect=function(e,t){return Gn(e,null,t)},r.watchPostEffect=Wn,r.watchSyncEffect=function(e,t){return Gn(e,null,{flush:"sync"})},r.withAsyncContext=function(e){const t=Ho();let n=e();return zo(),[n=fe(n)?n.catch(e=>{throw Wo(t),e}):n,()=>Wo(t)]},r.withCtx=On,r.withDefaults=function(e,t){return null},r.withDirectives=function(e,s){var t=c;if(null===t)return e;const i=es(t)||t.proxy,l=e.dirs||(e.dirs=[]);for(let o=0;oe=>{if("key"in e){const t=ge(e.key);return r.some(e=>e===t||hi[e]===t)?n(e):void 0}},r.withMemo=function(e,t,n,r){var o=n[r];if(o&&cs(o,e))return o;const s=t();return s.memo=e.slice(),n[r]=s},r.withModifiers=(e,r)=>(t,...n)=>{for(let e=0;eOn,Object.defineProperty(r,"__esModule",{value:!0}),r}({}); --------------------------------------------------------------------------------