├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── dist ├── assets │ ├── iconfont.58362677.svg │ ├── index.abe1bde6.css │ └── index.c3a3d9c8.js ├── favicon.ico ├── imgs │ ├── theme1.png │ ├── theme2.png │ └── theme3.png └── index.html ├── index.html ├── package-lock.json ├── package.json ├── public ├── favicon.ico └── imgs │ ├── theme1.png │ ├── theme2.png │ └── theme3.png ├── src ├── App.vue ├── assets │ ├── css │ │ ├── base.css │ │ └── index.less │ ├── fonts │ │ ├── iconfont.css │ │ ├── iconfont.eot │ │ ├── iconfont.js │ │ ├── iconfont.json │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ └── iconfont.woff2 │ ├── imgs │ │ ├── bg2.png │ │ ├── github_icon.png │ │ ├── theme1.png │ │ ├── theme2.png │ │ └── theme3.png │ └── logo.png ├── components │ ├── NavBar.vue │ └── TabBar.vue ├── config │ └── index.ts ├── env.d.ts ├── main.ts ├── router │ └── index.ts ├── utils │ └── utils.ts └── views │ ├── Index.vue │ └── index.vue ├── tsconfig.json ├── tsconfig.node.json ├── vite.config.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | # dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-kline (使用 Vue 对接火币 k 线图数据) 2 | 3 | ## 使用技术 Vue、Echarts、WebSocket 4 | 支持vue2和vue3 5 | master分支默认是vue3的 6 | 7 | ## 下载说明 8 | 9 | - 该项目仅供参考,直接下载到本地运行查看 10 | - 下载项目后,npm install 一下 11 | - npm run serve 运行项目查看效果 12 | - 火币地址可能会有变化,如果页面websocket连接不上,在config/index.ts中列了3个地址,可以换着试试 13 | 14 | ## 一些文件说明 15 | 16 | - src/config/index.js 是 K 线图的颜色(线条、蜡烛)和背景颜色配置 17 | - src/utils/utils.js 是一些计算方法,计算 MA、格式化工具条,和分割数据。网上都能搜索到 18 | - 其它的都是 Vue 的配置,相信大家都属性吧! 19 | 20 | ## 图片参考 21 | 22 | ![蓝色主题](https://vangleer.github.io/vue-kline/dist/img/theme1.png) 23 |
24 | 25 | ![白色主题](https://vangleer.github.io/vue-kline/dist/img/theme2.png) 26 | 27 |
28 | 29 | ![自定义主题](https://vangleer.github.io/vue-kline/dist/img/theme3.png) 30 | 31 | ## 火币接口参考文档 https://huobiapi.github.io/docs/spot/v1/cn/#websocket 32 | 33 | ## GitHub Pages https://vangleer.github.io/vue-kline/dist/#/ 34 | 35 | 如果这个能帮助到你, 请点击 star 来支持我噢. ^\_^ 36 | -------------------------------------------------------------------------------- /dist/assets/iconfont.58362677.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | Created by iconfont 9 | 10 | 11 | 12 | 13 | 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 | -------------------------------------------------------------------------------- /dist/assets/index.abe1bde6.css: -------------------------------------------------------------------------------- 1 | .content{margin:50px 0;color:#6b809b;overflow-y:auto}span{font-size:13px}.data-box{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;padding:0 12px;color:#707f9c;font-weight:700}.data-box .left{width:60%}.data-box .left h3{font-size:20px;font-weight:700;height:30px;color:#0ca589;margin:0}.nav-box{display:flex;justify-content:space-between;padding:0 12px;width:100%;height:40px}.nav-box .item{position:relative;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;height:100%}.nav-box .active{color:#0563e1}.nav-box .active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#0563e1}.chart-box{position:relative;width:100%;height:420px;background-size:100% 88%;border-top:1px solid rgba(185,192,202,.2);border-bottom:1px solid rgba(185,192,202,.2)}.chart-box .top{position:absolute;z-index:900;top:5px;left:5px}.chart-box .top span{margin-right:10px}.chart-box .middle{position:absolute;z-index:900;top:74%;left:5px}.chart-box .middle span{margin-right:10px}.chart-box .bom{position:absolute;z-index:900;top:75%;left:5px}.chart-box .bom span{margin-right:10px}.chart-box .tool-box{position:absolute;z-index:900;top:6px;right:10px;width:120px;border:1px solid #6c7c93;background-color:#081825b3}.chart-box .tool-box p{display:flex;justify-content:space-between;margin:2px}.chart-box .pos-left{left:5px}.chart-box .pos-right{right:5px}.chart-box .chart{width:100%;height:100%}.yellow-color{color:#f2daaf}.k-nav-bar{position:fixed;top:0;left:0;display:flex;height:50px;width:100vw;padding:0 50px}.k-nav-title{display:flex;justify-content:center;align-items:center;flex:1;text-align:center;font-size:18px;font-weight:600}.k-nav-left,.k-nav-right{position:absolute;top:0;display:flex;justify-content:center;align-items:center;width:50px;height:50px;font-size:15px;font-weight:500}.k-nav-left{left:0px}.k-nav-right{right:0px}.img-icon{width:22px;height:22px}.k-tab-bar{position:fixed;right:0;bottom:0;display:flex;width:100vw;height:50px}.k-icon{font-size:18px}.k-tab-bar-item{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.k-tab-icon{width:22px;height:22px}.k-tab-text{font-size:14px;margin-top:4px}.border{border-top:1px solid #eee}.app-container{width:100vw;height:100vh;overflow:hidden}html,body,div,span,p,a,img,h1,h2,h3,h4,h5,h6,input,button,form,ul,li,textarea,ol{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;width:100%;font-family:Microsoft YaHei,\5b8b\4f53,Arial,\9ed1\4f53,sans-serif}a{text-decoration:none}ul,ol{list-style:none}input,button{border:none;outline:none}.color_fff{color:#fff}.theme_color{color:#f53a35}.black_color{color:#222}.gray_color{color:#7d7c7c}.yellow_color{color:#ff9d24}.flex_between{display:flex;justify-content:space-between}.flex_center{display:flex;justify-content:center;align-items:center}.flex_bea{display:flex;justify-content:space-between;align-items:center}.flex_align{display:flex;align-items:center}@font-face{font-family:iconfont;src:url(data:undefined;base64,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);src:url(data:undefined;base64,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) format("embedded-opentype"),url(data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAW4AAsAAAAAC0QAAAVsAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDVgqJKIdmATYCJAMcCxAABCAFhG0HVBuqCVGUME4s2Q9JkjMNN/EMxx6GAOBECQAAACggLQDEQ/3ed2fv3VdSepGJTndVMVFIFOPpHgXSoQy6G/HPpnrWOxOHVjpxz8Cg7uGRte7tz3rrfV3iZbgIlVVlLWAd/j3tpRiSgd2NcCc4PWgkDkx7IL96td+vfhGLH9kZOqFQ4+0TvYe6VDIhkYgiHhlCIWQIhRI7CqOr1Qsn4XkCw9Y5rNvT6wjqEqcE+r1V2QzqthwZ4g99eutzbYrviPrytVwF4Jv6+/EftKNO0VTcuc9vTpaw/4v5TRIeHaAC5TyU/Ipwu4mKUyCJL74l7wi95ZQw/DnYdg+M6hWZ10E8b0hvBN8k0enY0nCLXFEY5Y3jxbRp/uNphEq0qDoK80tryy9mkTUpN7IUUB5kSVASsjSggsgSoEmg5oCxu2YcGyBeAMoW4FyrLuy1GlVqRpusVWBgW2TZZ56hxWLn+BFzw7znOXP94/erCHsd096m1DeRV5RYJCB17aZxlPb618q9QZxc76eFb8/yjtP+aBBlP9SEejm6e1eIoTGGxUpTGq2JklPfJDlgPlvuvspw8U9y/R7pXUfybuALaOTzaRzk9arn9auv4yHXZXqeN9nvcgPJv6F1sJ/XL6BR7tHM41tXV5BCJafeK47s7Rfi6+UTlhdyR4UMzgr2UL1hCAbiVQCpHwYFHYJhMgIQiFxUSvPpoJJhCFnExNvuemu+QUxYTmoE1hqrX3T3bn5T8IGPW6hU344dHYjScLmOBwyrnerqmup5gaxrHoeA+vrSRgjCAYu7ohSFUZemIZ5MS+qHyXQ/dEgMj94niIkR7vMEKInme6+vJXWIhrqVZv5gtwqJCAsu3f8Y6r0a3OvL7iLtWeVudKPneLH/7+e9Khyq9x/qvy/PE557zDwqeRn6nGKcj9t4ovGk5ChBOqC8PEAmWPamQBRCG2UCZINv0pVkfAbRTQ8JMEw45LNgWBJNGVTPdo+YSbzHCFASzUGstdtbBAAI8G8BIOI7bduFer4su6dq7kSU7HmRm5rX+0SKYOPJGBTx8aLH9anjgus55salm6U7l94yHZG6aPKoNqP+xdryZr1TMhT9vkcyi2DjDIoRhIQIkLArQmSNleYryat8IxMuYlVXJbQbGJTcJ4rWJuu+aOfp7z2ceB9EOy1XVS07+Qps/mLn83O0gNgybTL1xAeUOhpsAVYNVk4WFWb3S1k2WXrksxH3DHccmVXbAtu3anXqchLjVPQWVn1mVGVs5khKYjMTAUVjEf/zF2GBsPjz56Li//UTT8xBSIZsNx7D8JLUdUUwjEDqxjUcSoQ6gh3yhfQFtpW3VS+S7fpE2Ox+WdMp+bFK0gF2lyIO8pAdY14iNz5uC8ltlfiUbMmKHilD5aRkwTEAQAOrCBAeZcHK+r3tap3Dq54TfwNW2EvPhrAb/RbNhCT4qV/1F0I6dsemYnNnQMoEDOgp3AWW2+V7ZpGNmdR5rd5UMMxvYs+vmPaXnzYXW3WSaXMmFJ01qHq7+jSfQmPEGbR6FzDsxNnNI2YYQuQQjn0QCJM+oRj3A6pJX/o0/0Jj3j+0JkPAsFfBfc8R+6GaloZmTEucv6Na6J0U8rmp9X+k7HkzM1ZBjSdkSlWPoRc4289oRyaPC8qXrM0sURq9xVPyMtpsNBZGr2jBXs5cdHxf+n2Rt9BbaLphkBlGltDcO6QsaDtS3p41XT//iGSebcyYkGk/qRPEKKndo5AniKE/U3expq3L0NKLTBvTJgnJW19tC53SIrLhWzRU+B+1QhaYJ0/RVOjw6XIyruqVr22n8w4Yxn2gixI1Mppoo4te3t09tQVxLjS7rdxYDVdMIq0pxSEA) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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) format("truetype"),url(./iconfont.58362677.svg?t=1611886583489#iconfont) format("svg")}.k-icon{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.k-icon-eos:before{content:"\e61b"}.k-icon-eos-o:before{content:"\e66d"}.k-icon-eth:before{content:"\e614"}.k-icon-eth-o:before{content:"\e613"}.k-icon-btc:before{content:"\e616"}.k-icon-btc-o:before{content:"\e609";font-size:24px} 2 | -------------------------------------------------------------------------------- /dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/dist/favicon.ico -------------------------------------------------------------------------------- /dist/imgs/theme1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/dist/imgs/theme1.png -------------------------------------------------------------------------------- /dist/imgs/theme2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/dist/imgs/theme2.png -------------------------------------------------------------------------------- /dist/imgs/theme3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/dist/imgs/theme3.png -------------------------------------------------------------------------------- /dist/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Vue Kline 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Vue Kline 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-test", 3 | "private": true, 4 | "version": "0.0.0", 5 | "scripts": { 6 | "dev": "vite", 7 | "build": "vite build", 8 | "preview": "vite preview" 9 | }, 10 | "dependencies": { 11 | "dayjs": "^1.11.1", 12 | "echarts": "^5.3.2", 13 | "pako": "^2.0.4", 14 | "vue": "^3.2.25", 15 | "vue-router": "^4.0.14", 16 | "vue-types": "^4.1.1" 17 | }, 18 | "devDependencies": { 19 | "@vitejs/plugin-vue": "^2.3.1", 20 | "less": "^4.1.2", 21 | "less-loader": "^10.2.0", 22 | "typescript": "^4.5.4", 23 | "vite": "^2.9.2", 24 | "vue-tsc": "^0.29.8" 25 | } 26 | } -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/public/favicon.ico -------------------------------------------------------------------------------- /public/imgs/theme1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/public/imgs/theme1.png -------------------------------------------------------------------------------- /public/imgs/theme2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/public/imgs/theme2.png -------------------------------------------------------------------------------- /public/imgs/theme3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/public/imgs/theme3.png -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 43 | 44 | 51 | -------------------------------------------------------------------------------- /src/assets/css/base.css: -------------------------------------------------------------------------------- 1 | html, 2 | body, 3 | div, 4 | span, 5 | p, 6 | a, 7 | img, 8 | h1, 9 | h2, 10 | h3, 11 | h4, 12 | h5, 13 | h6, 14 | input, 15 | button, 16 | form, 17 | ul, 18 | li, 19 | textarea, 20 | ol { 21 | margin: 0; 22 | padding: 0; 23 | box-sizing: border-box; 24 | -webkit-tap-highlight-color: transparent; 25 | } 26 | 27 | html, 28 | body { 29 | height: 100%; 30 | width: 100%; 31 | font-family: 'Microsoft YaHei', '宋体', 'Arial', '黑体', sans-serif; 32 | } 33 | 34 | a { 35 | text-decoration: none; 36 | } 37 | 38 | ul, 39 | ol { 40 | list-style: none; 41 | } 42 | 43 | input, 44 | button { 45 | border: none; 46 | outline: none; 47 | } 48 | 49 | .color_fff { 50 | color: #ffffff; 51 | } 52 | 53 | .theme_color { 54 | color: #f53a35; 55 | } 56 | 57 | /* 字体颜色 */ 58 | .black_color { 59 | color: #222; 60 | } 61 | 62 | .gray_color { 63 | color: #7d7c7c; 64 | } 65 | 66 | .yellow_color { 67 | color: #ff9d24; 68 | } 69 | 70 | /* flex布局 */ 71 | .flex_between { 72 | display: flex; 73 | justify-content: space-between; 74 | } 75 | 76 | .flex_center { 77 | display: flex; 78 | justify-content: center; 79 | align-items: center; 80 | } 81 | 82 | .flex_bea { 83 | display: flex; 84 | justify-content: space-between; 85 | align-items: center; 86 | } 87 | 88 | .flex_align { 89 | display: flex; 90 | align-items: center; 91 | } 92 | -------------------------------------------------------------------------------- /src/assets/css/index.less: -------------------------------------------------------------------------------- 1 | .content { 2 | margin: 50px 0px; 3 | color: #6b809b; 4 | overflow-y: auto; 5 | } 6 | 7 | span { 8 | font-size: 13px; 9 | } 10 | 11 | .data-box { 12 | display: flex; 13 | justify-content: space-between; 14 | align-items: center; 15 | box-sizing: border-box; 16 | width: 100%; 17 | padding: 0 12px; 18 | color: #707f9c; 19 | font-weight: 700; 20 | 21 | .left { 22 | width: 60%; 23 | 24 | h3 { 25 | font-size: 20px; 26 | font-weight: 700; 27 | height: 30px; 28 | color: #0ca589; 29 | margin: 0; 30 | } 31 | } 32 | } 33 | 34 | // 导航按钮 35 | .nav-box { 36 | display: flex; 37 | justify-content: space-between; 38 | padding: 0 12px; 39 | width: 100%; 40 | height: 40px; 41 | 42 | .item { 43 | position: relative; 44 | display: flex; 45 | align-items: center; 46 | justify-content: center; 47 | font-size: 14px; 48 | font-weight: 700; 49 | height: 100%; 50 | } 51 | 52 | .active { 53 | color: #0563e1; 54 | 55 | &::after { 56 | content: ""; 57 | position: absolute; 58 | bottom: 0; 59 | left: 0; 60 | width: 100%; 61 | height: 2px; 62 | background-color: #0563e1; 63 | } 64 | } 65 | } 66 | 67 | // 图表部分 68 | .chart-box { 69 | position: relative; 70 | width: 100%; 71 | height: 420px; 72 | background-size: 100% 88%; 73 | border-top: 1px solid rgba(185, 192, 202, 0.2); 74 | border-bottom: 1px solid rgba(185, 192, 202, 0.2); 75 | 76 | .top { 77 | position: absolute; 78 | z-index: 900; 79 | top: 5px; 80 | left: 5px; 81 | 82 | span { 83 | margin-right: 10px; 84 | } 85 | } 86 | 87 | .middle { 88 | position: absolute; 89 | z-index: 900; 90 | top: 74%; 91 | left: 5px; 92 | 93 | span { 94 | margin-right: 10px; 95 | } 96 | } 97 | 98 | .bom { 99 | position: absolute; 100 | z-index: 900; 101 | top: 75%; 102 | left: 5px; 103 | 104 | span { 105 | margin-right: 10px; 106 | } 107 | } 108 | 109 | .tool-box { 110 | position: absolute; 111 | z-index: 900; 112 | top: 6px; 113 | right: 10px; 114 | width: 120px; 115 | border: 1px solid #6c7c93; 116 | background-color: rgba(8, 24, 37, 0.7); 117 | 118 | p { 119 | display: flex; 120 | justify-content: space-between; 121 | margin: 0; 122 | margin: 2px 2px; 123 | } 124 | } 125 | 126 | .pos-left { 127 | left: 5px; 128 | } 129 | 130 | .pos-right { 131 | right: 5px; 132 | } 133 | 134 | .chart { 135 | width: 100%; 136 | height: 100%; 137 | } 138 | } 139 | 140 | .yellow-color { 141 | color: #f2daaf; 142 | } -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.css: -------------------------------------------------------------------------------- 1 | @font-face {font-family: "iconfont"; 2 | src: url('iconfont.eot?t=1611886583489'); /* IE9 */ 3 | src: url('iconfont.eot?t=1611886583489#iefix') format('embedded-opentype'), /* IE6-IE8 */ 4 | url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAW4AAsAAAAAC0QAAAVsAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDVgqJKIdmATYCJAMcCxAABCAFhG0HVBuqCVGUME4s2Q9JkjMNN/EMxx6GAOBECQAAACggLQDEQ/3ed2fv3VdSepGJTndVMVFIFOPpHgXSoQy6G/HPpnrWOxOHVjpxz8Cg7uGRte7tz3rrfV3iZbgIlVVlLWAd/j3tpRiSgd2NcCc4PWgkDkx7IL96td+vfhGLH9kZOqFQ4+0TvYe6VDIhkYgiHhlCIWQIhRI7CqOr1Qsn4XkCw9Y5rNvT6wjqEqcE+r1V2QzqthwZ4g99eutzbYrviPrytVwF4Jv6+/EftKNO0VTcuc9vTpaw/4v5TRIeHaAC5TyU/Ipwu4mKUyCJL74l7wi95ZQw/DnYdg+M6hWZ10E8b0hvBN8k0enY0nCLXFEY5Y3jxbRp/uNphEq0qDoK80tryy9mkTUpN7IUUB5kSVASsjSggsgSoEmg5oCxu2YcGyBeAMoW4FyrLuy1GlVqRpusVWBgW2TZZ56hxWLn+BFzw7znOXP94/erCHsd096m1DeRV5RYJCB17aZxlPb618q9QZxc76eFb8/yjtP+aBBlP9SEejm6e1eIoTGGxUpTGq2JklPfJDlgPlvuvspw8U9y/R7pXUfybuALaOTzaRzk9arn9auv4yHXZXqeN9nvcgPJv6F1sJ/XL6BR7tHM41tXV5BCJafeK47s7Rfi6+UTlhdyR4UMzgr2UL1hCAbiVQCpHwYFHYJhMgIQiFxUSvPpoJJhCFnExNvuemu+QUxYTmoE1hqrX3T3bn5T8IGPW6hU344dHYjScLmOBwyrnerqmup5gaxrHoeA+vrSRgjCAYu7ohSFUZemIZ5MS+qHyXQ/dEgMj94niIkR7vMEKInme6+vJXWIhrqVZv5gtwqJCAsu3f8Y6r0a3OvL7iLtWeVudKPneLH/7+e9Khyq9x/qvy/PE557zDwqeRn6nGKcj9t4ovGk5ChBOqC8PEAmWPamQBRCG2UCZINv0pVkfAbRTQ8JMEw45LNgWBJNGVTPdo+YSbzHCFASzUGstdtbBAAI8G8BIOI7bduFer4su6dq7kSU7HmRm5rX+0SKYOPJGBTx8aLH9anjgus55salm6U7l94yHZG6aPKoNqP+xdryZr1TMhT9vkcyi2DjDIoRhIQIkLArQmSNleYryat8IxMuYlVXJbQbGJTcJ4rWJuu+aOfp7z2ceB9EOy1XVS07+Qps/mLn83O0gNgybTL1xAeUOhpsAVYNVk4WFWb3S1k2WXrksxH3DHccmVXbAtu3anXqchLjVPQWVn1mVGVs5khKYjMTAUVjEf/zF2GBsPjz56Li//UTT8xBSIZsNx7D8JLUdUUwjEDqxjUcSoQ6gh3yhfQFtpW3VS+S7fpE2Ox+WdMp+bFK0gF2lyIO8pAdY14iNz5uC8ltlfiUbMmKHilD5aRkwTEAQAOrCBAeZcHK+r3tap3Dq54TfwNW2EvPhrAb/RbNhCT4qV/1F0I6dsemYnNnQMoEDOgp3AWW2+V7ZpGNmdR5rd5UMMxvYs+vmPaXnzYXW3WSaXMmFJ01qHq7+jSfQmPEGbR6FzDsxNnNI2YYQuQQjn0QCJM+oRj3A6pJX/o0/0Jj3j+0JkPAsFfBfc8R+6GaloZmTEucv6Na6J0U8rmp9X+k7HkzM1ZBjSdkSlWPoRc4289oRyaPC8qXrM0sURq9xVPyMtpsNBZGr2jBXs5cdHxf+n2Rt9BbaLphkBlGltDcO6QsaDtS3p41XT//iGSebcyYkGk/qRPEKKndo5AniKE/U3expq3L0NKLTBvTJgnJW19tC53SIrLhWzRU+B+1QhaYJ0/RVOjw6XIyruqVr22n8w4Yxn2gixI1Mppoo4te3t09tQVxLjS7rdxYDVdMIq0pxSEA') format('woff2'), 5 | url('iconfont.woff?t=1611886583489') format('woff'), 6 | url('iconfont.ttf?t=1611886583489') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ 7 | url('iconfont.svg?t=1611886583489#iconfont') format('svg'); /* iOS 4.1- */ 8 | } 9 | 10 | .k-icon { 11 | font-family: "iconfont" !important; 12 | font-size: 16px; 13 | font-style: normal; 14 | -webkit-font-smoothing: antialiased; 15 | -moz-osx-font-smoothing: grayscale; 16 | } 17 | 18 | .k-icon-eos:before { 19 | content: "\e61b"; 20 | } 21 | 22 | .k-icon-eos-o:before { 23 | content: "\e66d"; 24 | } 25 | 26 | .k-icon-eth:before { 27 | content: "\e614"; 28 | } 29 | .k-icon-eth-o:before { 30 | content: "\e613"; 31 | } 32 | 33 | .k-icon-btc:before { 34 | content: "\e616"; 35 | } 36 | 37 | .k-icon-btc-o:before { 38 | content: "\e609"; 39 | font-size: 24px; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/fonts/iconfont.eot -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.js: -------------------------------------------------------------------------------- 1 | !function(t){var e,o,n,i,l,c,a='',m=(m=document.getElementsByTagName("script"))[m.length-1].getAttribute("data-injectcss");if(m&&!t.__iconfont__svg__cssinject__){t.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}function d(){l||(l=!0,n())}e=function(){var t,e,o,n;(n=document.createElement("div")).innerHTML=a,a=null,(o=n.getElementsByTagName("svg")[0])&&(o.setAttribute("aria-hidden","true"),o.style.position="absolute",o.style.width=0,o.style.height=0,o.style.overflow="hidden",t=o,(e=document.body).firstChild?(n=t,(o=e.firstChild).parentNode.insertBefore(n,o)):e.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(e,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),e()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(n=e,i=t.document,l=!1,(c=function(){try{i.documentElement.doScroll("left")}catch(t){return void setTimeout(c,50)}d()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,d())})}(window); -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "2355305", 3 | "name": "vue-kline", 4 | "font_family": "iconfont", 5 | "css_prefix_text": "icon-", 6 | "description": "", 7 | "glyphs": [ 8 | { 9 | "icon_id": "8390803", 10 | "name": "EOS", 11 | "font_class": "EOS2", 12 | "unicode": "e61b", 13 | "unicode_decimal": 58907 14 | }, 15 | { 16 | "icon_id": "7891245", 17 | "name": "eth", 18 | "font_class": "eth", 19 | "unicode": "e613", 20 | "unicode_decimal": 58899 21 | }, 22 | { 23 | "icon_id": "10883586", 24 | "name": "EOS", 25 | "font_class": "EOS", 26 | "unicode": "e66d", 27 | "unicode_decimal": 58989 28 | }, 29 | { 30 | "icon_id": "12504761", 31 | "name": "-eth", 32 | "font_class": "-eth", 33 | "unicode": "e614", 34 | "unicode_decimal": 58900 35 | }, 36 | { 37 | "icon_id": "13377710", 38 | "name": "比特币", 39 | "font_class": "bitebi", 40 | "unicode": "e616", 41 | "unicode_decimal": 58902 42 | }, 43 | { 44 | "icon_id": "18567098", 45 | "name": "比特币", 46 | "font_class": "bitebi1", 47 | "unicode": "e609", 48 | "unicode_decimal": 58889 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | Created by iconfont 9 | 10 | 11 | 12 | 13 | 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 | -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/fonts/iconfont.ttf -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/fonts/iconfont.woff -------------------------------------------------------------------------------- /src/assets/fonts/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/fonts/iconfont.woff2 -------------------------------------------------------------------------------- /src/assets/imgs/bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/imgs/bg2.png -------------------------------------------------------------------------------- /src/assets/imgs/github_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/imgs/github_icon.png -------------------------------------------------------------------------------- /src/assets/imgs/theme1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/imgs/theme1.png -------------------------------------------------------------------------------- /src/assets/imgs/theme2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/imgs/theme2.png -------------------------------------------------------------------------------- /src/assets/imgs/theme3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/imgs/theme3.png -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vangleer/vue-kline/056ac27ff8c78fe3217d409d3b941d073523e731/src/assets/logo.png -------------------------------------------------------------------------------- /src/components/NavBar.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 36 | 37 | 78 | -------------------------------------------------------------------------------- /src/components/TabBar.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 50 | 51 | 82 | -------------------------------------------------------------------------------- /src/config/index.ts: -------------------------------------------------------------------------------- 1 | export const bgColors = ['#1b2741', '#ffffff', '#f2e9f5'] 2 | export const colors = ['#09b699', '#d74a5d', '#bd9fe5', '#79879a', '#7e8da3', '#ece3c2'] 3 | 4 | export const huobiWsUrl = 'wss://api.hadax.com/ws' 5 | // export const huobiWsUrl = 'wss://api.huobi.pro/ws/v1' 6 | // export const huobiWsUrl = 'wss://api.huobi.pro/ws' 7 | 8 | 9 | export const navList = [ 10 | { text: '1分钟', opt: '1min' }, 11 | { text: '5分钟', opt: '5min' }, 12 | { text: '15分钟', opt: '15min' }, 13 | { text: '30分钟', opt: '30min' }, 14 | { text: '1小时', opt: '60min' }, 15 | { text: '4小时', opt: '4hour' } 16 | ] -------------------------------------------------------------------------------- /src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import router from './router' 3 | import App from './App.vue' 4 | // 导入初始化样式 5 | import './assets/css/base.css' 6 | // 导入字体图标 7 | import './assets/fonts/iconfont.css' 8 | 9 | const app = createApp(App) 10 | app.use(router).mount('#app') 11 | -------------------------------------------------------------------------------- /src/router/index.ts: -------------------------------------------------------------------------------- 1 | import { createRouter, Router, RouteRecordRaw, createWebHashHistory } from 'vue-router' 2 | import Index from '../views/index.vue' 3 | 4 | const routes: Array = [ 5 | { 6 | path:'/', 7 | component: Index 8 | } 9 | ] 10 | const router: Router = createRouter({ 11 | history: createWebHashHistory(), 12 | routes 13 | }) 14 | 15 | export default router -------------------------------------------------------------------------------- /src/utils/utils.ts: -------------------------------------------------------------------------------- 1 | import dayjs from 'dayjs' 2 | 3 | export default { 4 | postSelect(params, colors) { 5 | let _this: any = { datas: {}, ma: {}, vol: {} } 6 | let result: any = {} 7 | for (let i = 0; i < params.length; i++) { 8 | var el = params[i]; 9 | switch (el.seriesIndex) { 10 | case 0: 11 | _this.datas = { 12 | date: { 13 | name: '时间', 14 | value: el.name 15 | }, 16 | open: { 17 | name: '开', 18 | value: el.value[1] 19 | }, 20 | close: { 21 | name: '收', 22 | value: el.value[2] 23 | }, 24 | low: { 25 | name: '低', 26 | value: el.value[3] 27 | }, 28 | heigh: { 29 | name: '高', 30 | value: el.value[4] 31 | }, 32 | zhangd: { 33 | name: '涨跌额', 34 | value: (parseFloat(el.value[2]) - parseFloat(el.value[1])).toFixed(2), 35 | color: el.color 36 | }, 37 | zhenf: { 38 | name: '涨跌幅', 39 | value: (((parseFloat(el.value[2]) - parseFloat(el.value[1])) / parseFloat(el.value[1])).toFixed(4)) * 100 40 | } 41 | }; 42 | break 43 | case 1: 44 | _this.ma.ma5 = { 45 | name: el.seriesName, 46 | value: el.value, 47 | color: el.color 48 | }; 49 | break 50 | case 2: 51 | _this.ma.ma10 = { 52 | name: el.seriesName, 53 | value: el.value, 54 | color: el.color 55 | } 56 | break 57 | case 3: 58 | _this.ma.ma20 = { 59 | name: el.seriesName, 60 | value: el.value, 61 | color: el.color 62 | }; 63 | break 64 | case 4: 65 | _this.vol.ma5 = { 66 | name: el.seriesName, 67 | value: el.value, 68 | color: colors[5] 69 | } 70 | 71 | break 72 | case 5: 73 | _this.vol.ma10 = { 74 | name: el.seriesName, 75 | value: el.value, 76 | color: colors[0] 77 | }; 78 | break 79 | case 6: 80 | _this.vol.vol = { 81 | name: el.seriesName, 82 | value: el.value, 83 | color: colors[4] 84 | }; 85 | break 86 | default: 87 | break 88 | } 89 | } 90 | 91 | // 工具框里的数据 92 | let ak = [] 93 | for (let j in _this.datas) { 94 | ak.push({ 95 | name: _this.datas[j].name, 96 | value: _this.datas[j].value 97 | }) 98 | } 99 | ak.push(_this.vol.vol) 100 | result.toolList1 = ak 101 | 102 | var objma = Object.keys(_this.ma) 103 | var at = [] 104 | for (let j = 0; j < objma.length; j++) { 105 | at.push({ 106 | name: _this.ma[objma[j]].name, 107 | value: _this.ma[objma[j]].value, 108 | color: _this.ma[objma[j]].color 109 | }) 110 | } 111 | // 上面的数据 112 | result.postTop = at; 113 | 114 | // 交易量 115 | result.chengJiao = { 116 | name: _this.vol.name, 117 | value: _this.vol.value, 118 | color: _this.vol.color 119 | } 120 | let objvol = Object.keys(_this.vol) 121 | let maVols = [] 122 | for (let j = objvol.length - 1; j >= 0; j--) { 123 | maVols.push({ 124 | name: _this.vol[objvol[j]].name, 125 | value: _this.vol[objvol[j]].value, 126 | color: _this.vol[objvol[j]].color 127 | }) 128 | break 129 | } 130 | result.chengJiao = maVols 131 | result.toolList1.push(result.chengJiao) 132 | return result 133 | }, 134 | calculateMA(data, dayCount) { 135 | let result = []; 136 | for (let i = 0, len = data.datas.length; i < len; i++) { 137 | if (i < dayCount) { 138 | result.push('-') 139 | continue 140 | } 141 | let sum = 0; 142 | for (let j = 0; j < dayCount; j++) { 143 | sum += data.datas[i - j][1] 144 | } 145 | result.push(sum / dayCount) 146 | } 147 | return result 148 | }, 149 | splitData(rawData) { 150 | let datas = [] 151 | let times = [] 152 | let vols = [] 153 | for (let i = 0; i < rawData.length; i++) { 154 | datas.push([rawData[i][1], rawData[i][2], rawData[i][3], rawData[i][4]]) 155 | times.push(rawData[i][0]) 156 | vols.push(rawData[i][5]) 157 | } 158 | return { 159 | datas: datas, 160 | times: times, 161 | vols: vols 162 | } 163 | } 164 | } 165 | 166 | export function toFixed(value, decimal = 2) { 167 | if (typeof value === 'string') { 168 | value = parseFloat(value); 169 | } 170 | return value && value.toFixed(decimal) 171 | } 172 | // 格式化时间方法 173 | export function getFormatDate(value, formatter = 'MM-DD HH:mm') { 174 | if (!value) return ''; 175 | const date: any = new Date(value * 1000) 176 | return dayjs(date).format(formatter) 177 | } -------------------------------------------------------------------------------- /src/views/Index.vue: -------------------------------------------------------------------------------- 1 | 71 | 72 | 655 | 656 | 659 | -------------------------------------------------------------------------------- /src/views/index.vue: -------------------------------------------------------------------------------- 1 | 71 | 72 | 655 | 656 | 659 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "moduleResolution": "node", 6 | "strict": false, 7 | "jsx": "preserve", 8 | "importHelpers": true, 9 | "experimentalDecorators": true, 10 | "strictFunctionTypes": false, 11 | "skipLibCheck": true, 12 | "esModuleInterop": true, 13 | "isolatedModules": true, 14 | "allowSyntheticDefaultImports": true, 15 | "forceConsistentCasingInFileNames": true, 16 | "sourceMap": true, 17 | "baseUrl": ".", 18 | "allowJs": false, 19 | "resolveJsonModule": true, 20 | "lib": [ 21 | "dom", 22 | "esnext" 23 | ], 24 | "incremental": true, 25 | }, 26 | "include": [ 27 | "src/**/*.ts", 28 | "src/**/*.d.ts", 29 | "src/**/*.tsx", 30 | "src/**/*.vue" 31 | ], 32 | "references": [ 33 | { 34 | "path": "./tsconfig.node.json" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "esnext", 5 | "moduleResolution": "node" 6 | }, 7 | "include": ["vite.config.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import vue from '@vitejs/plugin-vue' 3 | // https://vitejs.dev/config/ 4 | export default defineConfig({ 5 | base: './', 6 | plugins: [vue()], 7 | css: { 8 | preprocessorOptions: { 9 | less: { 10 | javascriptEnabled: true 11 | } 12 | } 13 | } 14 | }) 15 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/helper-string-parser@^7.18.10": 6 | version "7.18.10" 7 | resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" 8 | integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== 9 | 10 | "@babel/helper-validator-identifier@^7.18.6": 11 | version "7.18.6" 12 | resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 13 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 14 | 15 | "@babel/parser@^7.16.4", "@babel/parser@^7.6.0", "@babel/parser@^7.9.6": 16 | version "7.18.11" 17 | resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9" 18 | integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ== 19 | 20 | "@babel/types@^7.6.1", "@babel/types@^7.9.6": 21 | version "7.18.10" 22 | resolved "https://registry.npmmirror.com/@babel/types/-/types-7.18.10.tgz#4908e81b6b339ca7c6b7a555a5fc29446f26dde6" 23 | integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ== 24 | dependencies: 25 | "@babel/helper-string-parser" "^7.18.10" 26 | "@babel/helper-validator-identifier" "^7.18.6" 27 | to-fast-properties "^2.0.0" 28 | 29 | "@emmetio/abbreviation@^2.2.3": 30 | version "2.2.3" 31 | resolved "https://registry.npmmirror.com/@emmetio/abbreviation/-/abbreviation-2.2.3.tgz#2b3c0383c1a4652f677d5b56fb3f1616fe16ef10" 32 | integrity sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA== 33 | dependencies: 34 | "@emmetio/scanner" "^1.0.0" 35 | 36 | "@emmetio/css-abbreviation@^2.1.4": 37 | version "2.1.4" 38 | resolved "https://registry.npmmirror.com/@emmetio/css-abbreviation/-/css-abbreviation-2.1.4.tgz#90362e8a1122ce3b76f6c3157907d30182f53f54" 39 | integrity sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw== 40 | dependencies: 41 | "@emmetio/scanner" "^1.0.0" 42 | 43 | "@emmetio/scanner@^1.0.0": 44 | version "1.0.0" 45 | resolved "https://registry.npmmirror.com/@emmetio/scanner/-/scanner-1.0.0.tgz#065b2af6233fe7474d44823e3deb89724af42b5f" 46 | integrity sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA== 47 | 48 | "@esbuild/linux-loong64@0.14.54": 49 | version "0.14.54" 50 | resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" 51 | integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== 52 | 53 | "@vitejs/plugin-vue@^2.3.1": 54 | version "2.3.3" 55 | resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz#fbf80cc039b82ac21a1acb0f0478de8f61fbf600" 56 | integrity sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw== 57 | 58 | "@volar/code-gen@0.29.8": 59 | version "0.29.8" 60 | resolved "https://registry.npmmirror.com/@volar/code-gen/-/code-gen-0.29.8.tgz#db1a4bf29caeba131265bed9dbe96a1a0b66ea35" 61 | integrity sha512-eohLLUqPChHRPDFT5gXn4V6pr/CeTri7Ou5GI26lUvBRRAbP8p+oYfQRcbMPGeKmVkYjfVj0chsxQGx6T8PQ4Q== 62 | dependencies: 63 | "@volar/shared" "0.29.8" 64 | "@volar/source-map" "0.29.8" 65 | 66 | "@volar/html2pug@0.29.8": 67 | version "0.29.8" 68 | resolved "https://registry.npmmirror.com/@volar/html2pug/-/html2pug-0.29.8.tgz#2e97fa2968dcdfe0dbbc67b0cd2ab4c440018738" 69 | integrity sha512-bhSNXg8A2aD3w0B+CwmHjqCAaKtj5rORbE5C/q/UdGqptJbC6STCmi30KuRTdfPhR++Xb18Hauf3s/WCmtNAPA== 70 | dependencies: 71 | domelementtype "^2.2.0" 72 | domhandler "^4.2.2" 73 | htmlparser2 "^7.1.2" 74 | pug "^3.0.2" 75 | 76 | "@volar/shared@0.29.8": 77 | version "0.29.8" 78 | resolved "https://registry.npmmirror.com/@volar/shared/-/shared-0.29.8.tgz#e635ddf2cbcf307da932eb4b98e33c320d3d2991" 79 | integrity sha512-Y1NN6irkIukD+T0wf4p/dHWYL90sacN2e2lYoDXxRlvoYxwANnHgw0J0Rcp+yw58ElWRScdG7/YntEIuZWeJsw== 80 | dependencies: 81 | upath "^2.0.1" 82 | vscode-jsonrpc "^8.0.0-next.2" 83 | vscode-uri "^3.0.2" 84 | 85 | "@volar/source-map@0.29.8": 86 | version "0.29.8" 87 | resolved "https://registry.npmmirror.com/@volar/source-map/-/source-map-0.29.8.tgz#3299a0ae86ae0b72b4db3e50499d8bb285d8e9b2" 88 | integrity sha512-7w+UoYtnc6UQu30CgMVvx0YN4dzDgP4TIsSmUaW62AGmxU9Lxwp3Kkn/4N8efi91z8ma5Z78v/HddyJPwAC3LA== 89 | dependencies: 90 | "@volar/shared" "0.29.8" 91 | 92 | "@volar/transforms@0.29.8": 93 | version "0.29.8" 94 | resolved "https://registry.npmmirror.com/@volar/transforms/-/transforms-0.29.8.tgz#ef807010ac90772a065e7cf50509b6433b53e355" 95 | integrity sha512-o2hRa8CoDwYTO1Mu5KA47+1elUnYUjDaVhCvbyKlRfd8qpHea2llotArq7B6OORSL2M9DVs1IRJ5NGURBFeZ3Q== 96 | dependencies: 97 | "@volar/shared" "0.29.8" 98 | vscode-languageserver "^8.0.0-next.2" 99 | 100 | "@volar/vue-code-gen@0.29.8": 101 | version "0.29.8" 102 | resolved "https://registry.npmmirror.com/@volar/vue-code-gen/-/vue-code-gen-0.29.8.tgz#32401d52e2570d775fcc6cbc83abefeef65c48cd" 103 | integrity sha512-E1e7P2oktNC/DzgDBditfla4s8+HlUlluZ+BtcLvEdbkl3QEjujkB0x1wxguWzXmpWgLIDPtrS3Jzll5cCOkTg== 104 | dependencies: 105 | "@volar/code-gen" "0.29.8" 106 | "@volar/shared" "0.29.8" 107 | "@volar/source-map" "0.29.8" 108 | "@vue/compiler-core" "^3.2.21" 109 | "@vue/compiler-dom" "^3.2.21" 110 | "@vue/shared" "^3.2.21" 111 | upath "^2.0.1" 112 | 113 | "@vscode/emmet-helper@^2.8.0": 114 | version "2.8.4" 115 | resolved "https://registry.npmmirror.com/@vscode/emmet-helper/-/emmet-helper-2.8.4.tgz#ab937e3ce79b0873c604d1ad50a9eeb7abae2937" 116 | integrity sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg== 117 | dependencies: 118 | emmet "^2.3.0" 119 | jsonc-parser "^2.3.0" 120 | vscode-languageserver-textdocument "^1.0.1" 121 | vscode-languageserver-types "^3.15.1" 122 | vscode-nls "^5.0.0" 123 | vscode-uri "^2.1.2" 124 | 125 | "@vue/compiler-core@3.2.37", "@vue/compiler-core@^3.2.21": 126 | version "3.2.37" 127 | resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz#b3c42e04c0e0f2c496ff1784e543fbefe91e215a" 128 | integrity sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg== 129 | dependencies: 130 | "@babel/parser" "^7.16.4" 131 | "@vue/shared" "3.2.37" 132 | estree-walker "^2.0.2" 133 | source-map "^0.6.1" 134 | 135 | "@vue/compiler-dom@3.2.37", "@vue/compiler-dom@^3.2.21": 136 | version "3.2.37" 137 | resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz#10d2427a789e7c707c872da9d678c82a0c6582b5" 138 | integrity sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ== 139 | dependencies: 140 | "@vue/compiler-core" "3.2.37" 141 | "@vue/shared" "3.2.37" 142 | 143 | "@vue/compiler-sfc@3.2.37": 144 | version "3.2.37" 145 | resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz#3103af3da2f40286edcd85ea495dcb35bc7f5ff4" 146 | integrity sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg== 147 | dependencies: 148 | "@babel/parser" "^7.16.4" 149 | "@vue/compiler-core" "3.2.37" 150 | "@vue/compiler-dom" "3.2.37" 151 | "@vue/compiler-ssr" "3.2.37" 152 | "@vue/reactivity-transform" "3.2.37" 153 | "@vue/shared" "3.2.37" 154 | estree-walker "^2.0.2" 155 | magic-string "^0.25.7" 156 | postcss "^8.1.10" 157 | source-map "^0.6.1" 158 | 159 | "@vue/compiler-ssr@3.2.37": 160 | version "3.2.37" 161 | resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz#4899d19f3a5fafd61524a9d1aee8eb0505313cff" 162 | integrity sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw== 163 | dependencies: 164 | "@vue/compiler-dom" "3.2.37" 165 | "@vue/shared" "3.2.37" 166 | 167 | "@vue/devtools-api@^6.1.4": 168 | version "6.2.1" 169 | resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092" 170 | integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== 171 | 172 | "@vue/reactivity-transform@3.2.37": 173 | version "3.2.37" 174 | resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz#0caa47c4344df4ae59f5a05dde2a8758829f8eca" 175 | integrity sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg== 176 | dependencies: 177 | "@babel/parser" "^7.16.4" 178 | "@vue/compiler-core" "3.2.37" 179 | "@vue/shared" "3.2.37" 180 | estree-walker "^2.0.2" 181 | magic-string "^0.25.7" 182 | 183 | "@vue/reactivity@3.2.37", "@vue/reactivity@^3.2.21": 184 | version "3.2.37" 185 | resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz#5bc3847ac58828e2b78526e08219e0a1089f8848" 186 | integrity sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A== 187 | dependencies: 188 | "@vue/shared" "3.2.37" 189 | 190 | "@vue/runtime-core@3.2.37": 191 | version "3.2.37" 192 | resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz#7ba7c54bb56e5d70edfc2f05766e1ca8519966e3" 193 | integrity sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ== 194 | dependencies: 195 | "@vue/reactivity" "3.2.37" 196 | "@vue/shared" "3.2.37" 197 | 198 | "@vue/runtime-dom@3.2.37": 199 | version "3.2.37" 200 | resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz#002bdc8228fa63949317756fb1e92cdd3f9f4bbd" 201 | integrity sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw== 202 | dependencies: 203 | "@vue/runtime-core" "3.2.37" 204 | "@vue/shared" "3.2.37" 205 | csstype "^2.6.8" 206 | 207 | "@vue/server-renderer@3.2.37": 208 | version "3.2.37" 209 | resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz#840a29c8dcc29bddd9b5f5ffa22b95c0e72afdfc" 210 | integrity sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA== 211 | dependencies: 212 | "@vue/compiler-ssr" "3.2.37" 213 | "@vue/shared" "3.2.37" 214 | 215 | "@vue/shared@3.2.37", "@vue/shared@^3.2.21": 216 | version "3.2.37" 217 | resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz#8e6adc3f2759af52f0e85863dfb0b711ecc5c702" 218 | integrity sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw== 219 | 220 | acorn@^7.1.1: 221 | version "7.4.1" 222 | resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 223 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 224 | 225 | asap@~2.0.3: 226 | version "2.0.6" 227 | resolved "https://registry.npmmirror.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" 228 | integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== 229 | 230 | assert-never@^1.2.1: 231 | version "1.2.1" 232 | resolved "https://registry.npmmirror.com/assert-never/-/assert-never-1.2.1.tgz#11f0e363bf146205fb08193b5c7b90f4d1cf44fe" 233 | integrity sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw== 234 | 235 | babel-walk@3.0.0-canary-5: 236 | version "3.0.0-canary-5" 237 | resolved "https://registry.npmmirror.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11" 238 | integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw== 239 | dependencies: 240 | "@babel/types" "^7.9.6" 241 | 242 | call-bind@^1.0.2: 243 | version "1.0.2" 244 | resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 245 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 246 | dependencies: 247 | function-bind "^1.1.1" 248 | get-intrinsic "^1.0.2" 249 | 250 | character-parser@^2.2.0: 251 | version "2.2.0" 252 | resolved "https://registry.npmmirror.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" 253 | integrity sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw== 254 | dependencies: 255 | is-regex "^1.0.3" 256 | 257 | constantinople@^4.0.1: 258 | version "4.0.1" 259 | resolved "https://registry.npmmirror.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151" 260 | integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw== 261 | dependencies: 262 | "@babel/parser" "^7.6.0" 263 | "@babel/types" "^7.6.1" 264 | 265 | copy-anything@^2.0.1: 266 | version "2.0.6" 267 | resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" 268 | integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== 269 | dependencies: 270 | is-what "^3.14.1" 271 | 272 | csstype@^2.6.8: 273 | version "2.6.20" 274 | resolved "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz#9229c65ea0b260cf4d3d997cb06288e36a8d6dda" 275 | integrity sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA== 276 | 277 | dayjs@^1.11.1: 278 | version "1.11.4" 279 | resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.4.tgz#3b3c10ca378140d8917e06ebc13a4922af4f433e" 280 | integrity sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g== 281 | 282 | debug@^3.2.6: 283 | version "3.2.7" 284 | resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 285 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 286 | dependencies: 287 | ms "^2.1.1" 288 | 289 | doctypes@^1.1.0: 290 | version "1.1.0" 291 | resolved "https://registry.npmmirror.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" 292 | integrity sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ== 293 | 294 | dom-serializer@^1.0.1: 295 | version "1.4.1" 296 | resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" 297 | integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== 298 | dependencies: 299 | domelementtype "^2.0.1" 300 | domhandler "^4.2.0" 301 | entities "^2.0.0" 302 | 303 | domelementtype@^2.0.1, domelementtype@^2.2.0: 304 | version "2.3.0" 305 | resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" 306 | integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== 307 | 308 | domhandler@^4.2.0, domhandler@^4.2.2: 309 | version "4.3.1" 310 | resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" 311 | integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== 312 | dependencies: 313 | domelementtype "^2.2.0" 314 | 315 | domutils@^2.8.0: 316 | version "2.8.0" 317 | resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" 318 | integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== 319 | dependencies: 320 | dom-serializer "^1.0.1" 321 | domelementtype "^2.2.0" 322 | domhandler "^4.2.0" 323 | 324 | echarts@^5.3.2: 325 | version "5.3.3" 326 | resolved "https://registry.npmmirror.com/echarts/-/echarts-5.3.3.tgz#df97b09c4c0e2ffcdfb44acf518d50c50e0b838e" 327 | integrity sha512-BRw2serInRwO5SIwRviZ6Xgm5Lb7irgz+sLiFMmy/HOaf4SQ+7oYqxKzRHAKp4xHQ05AuHw1xvoQWJjDQq/FGw== 328 | dependencies: 329 | tslib "2.3.0" 330 | zrender "5.3.2" 331 | 332 | emmet@^2.3.0: 333 | version "2.3.6" 334 | resolved "https://registry.npmmirror.com/emmet/-/emmet-2.3.6.tgz#1d93c1ac03164da9ddf74864c1f341ed6ff6c336" 335 | integrity sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A== 336 | dependencies: 337 | "@emmetio/abbreviation" "^2.2.3" 338 | "@emmetio/css-abbreviation" "^2.1.4" 339 | 340 | entities@^2.0.0: 341 | version "2.2.0" 342 | resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" 343 | integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== 344 | 345 | entities@^3.0.1: 346 | version "3.0.1" 347 | resolved "https://registry.npmmirror.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" 348 | integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== 349 | 350 | errno@^0.1.1: 351 | version "0.1.8" 352 | resolved "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" 353 | integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== 354 | dependencies: 355 | prr "~1.0.1" 356 | 357 | esbuild-android-64@0.14.54: 358 | version "0.14.54" 359 | resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" 360 | integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== 361 | 362 | esbuild-android-arm64@0.14.54: 363 | version "0.14.54" 364 | resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" 365 | integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== 366 | 367 | esbuild-darwin-64@0.14.54: 368 | version "0.14.54" 369 | resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" 370 | integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== 371 | 372 | esbuild-darwin-arm64@0.14.54: 373 | version "0.14.54" 374 | resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73" 375 | integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== 376 | 377 | esbuild-freebsd-64@0.14.54: 378 | version "0.14.54" 379 | resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" 380 | integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== 381 | 382 | esbuild-freebsd-arm64@0.14.54: 383 | version "0.14.54" 384 | resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" 385 | integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== 386 | 387 | esbuild-linux-32@0.14.54: 388 | version "0.14.54" 389 | resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" 390 | integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== 391 | 392 | esbuild-linux-64@0.14.54: 393 | version "0.14.54" 394 | resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" 395 | integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== 396 | 397 | esbuild-linux-arm64@0.14.54: 398 | version "0.14.54" 399 | resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" 400 | integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== 401 | 402 | esbuild-linux-arm@0.14.54: 403 | version "0.14.54" 404 | resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" 405 | integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== 406 | 407 | esbuild-linux-mips64le@0.14.54: 408 | version "0.14.54" 409 | resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" 410 | integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== 411 | 412 | esbuild-linux-ppc64le@0.14.54: 413 | version "0.14.54" 414 | resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" 415 | integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== 416 | 417 | esbuild-linux-riscv64@0.14.54: 418 | version "0.14.54" 419 | resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" 420 | integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== 421 | 422 | esbuild-linux-s390x@0.14.54: 423 | version "0.14.54" 424 | resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" 425 | integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== 426 | 427 | esbuild-netbsd-64@0.14.54: 428 | version "0.14.54" 429 | resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" 430 | integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== 431 | 432 | esbuild-openbsd-64@0.14.54: 433 | version "0.14.54" 434 | resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" 435 | integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== 436 | 437 | esbuild-sunos-64@0.14.54: 438 | version "0.14.54" 439 | resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" 440 | integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== 441 | 442 | esbuild-windows-32@0.14.54: 443 | version "0.14.54" 444 | resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" 445 | integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== 446 | 447 | esbuild-windows-64@0.14.54: 448 | version "0.14.54" 449 | resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" 450 | integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== 451 | 452 | esbuild-windows-arm64@0.14.54: 453 | version "0.14.54" 454 | resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" 455 | integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== 456 | 457 | esbuild@^0.14.27: 458 | version "0.14.54" 459 | resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz#8b44dcf2b0f1a66fc22459943dccf477535e9aa2" 460 | integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== 461 | optionalDependencies: 462 | "@esbuild/linux-loong64" "0.14.54" 463 | esbuild-android-64 "0.14.54" 464 | esbuild-android-arm64 "0.14.54" 465 | esbuild-darwin-64 "0.14.54" 466 | esbuild-darwin-arm64 "0.14.54" 467 | esbuild-freebsd-64 "0.14.54" 468 | esbuild-freebsd-arm64 "0.14.54" 469 | esbuild-linux-32 "0.14.54" 470 | esbuild-linux-64 "0.14.54" 471 | esbuild-linux-arm "0.14.54" 472 | esbuild-linux-arm64 "0.14.54" 473 | esbuild-linux-mips64le "0.14.54" 474 | esbuild-linux-ppc64le "0.14.54" 475 | esbuild-linux-riscv64 "0.14.54" 476 | esbuild-linux-s390x "0.14.54" 477 | esbuild-netbsd-64 "0.14.54" 478 | esbuild-openbsd-64 "0.14.54" 479 | esbuild-sunos-64 "0.14.54" 480 | esbuild-windows-32 "0.14.54" 481 | esbuild-windows-64 "0.14.54" 482 | esbuild-windows-arm64 "0.14.54" 483 | 484 | estree-walker@^2.0.2: 485 | version "2.0.2" 486 | resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 487 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 488 | 489 | fsevents@~2.3.2: 490 | version "2.3.2" 491 | resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 492 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 493 | 494 | function-bind@^1.1.1: 495 | version "1.1.1" 496 | resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 497 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 498 | 499 | get-intrinsic@^1.0.2: 500 | version "1.1.2" 501 | resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" 502 | integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== 503 | dependencies: 504 | function-bind "^1.1.1" 505 | has "^1.0.3" 506 | has-symbols "^1.0.3" 507 | 508 | graceful-fs@^4.1.2: 509 | version "4.2.10" 510 | resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 511 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 512 | 513 | has-symbols@^1.0.2, has-symbols@^1.0.3: 514 | version "1.0.3" 515 | resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 516 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 517 | 518 | has-tostringtag@^1.0.0: 519 | version "1.0.0" 520 | resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 521 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 522 | dependencies: 523 | has-symbols "^1.0.2" 524 | 525 | has@^1.0.3: 526 | version "1.0.3" 527 | resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 528 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 529 | dependencies: 530 | function-bind "^1.1.1" 531 | 532 | htmlparser2@^7.1.2: 533 | version "7.2.0" 534 | resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" 535 | integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== 536 | dependencies: 537 | domelementtype "^2.0.1" 538 | domhandler "^4.2.2" 539 | domutils "^2.8.0" 540 | entities "^3.0.1" 541 | 542 | iconv-lite@^0.6.3: 543 | version "0.6.3" 544 | resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" 545 | integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== 546 | dependencies: 547 | safer-buffer ">= 2.1.2 < 3.0.0" 548 | 549 | image-size@~0.5.0: 550 | version "0.5.5" 551 | resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" 552 | integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== 553 | 554 | is-core-module@^2.9.0: 555 | version "2.10.0" 556 | resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 557 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 558 | dependencies: 559 | has "^1.0.3" 560 | 561 | is-expression@^4.0.0: 562 | version "4.0.0" 563 | resolved "https://registry.npmmirror.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab" 564 | integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A== 565 | dependencies: 566 | acorn "^7.1.1" 567 | object-assign "^4.1.1" 568 | 569 | is-plain-object@5.0.0: 570 | version "5.0.0" 571 | resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" 572 | integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== 573 | 574 | is-promise@^2.0.0: 575 | version "2.2.2" 576 | resolved "https://registry.npmmirror.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" 577 | integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== 578 | 579 | is-regex@^1.0.3: 580 | version "1.1.4" 581 | resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 582 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 583 | dependencies: 584 | call-bind "^1.0.2" 585 | has-tostringtag "^1.0.0" 586 | 587 | is-what@^3.14.1: 588 | version "3.14.1" 589 | resolved "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" 590 | integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== 591 | 592 | js-stringify@^1.0.2: 593 | version "1.0.2" 594 | resolved "https://registry.npmmirror.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" 595 | integrity sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g== 596 | 597 | jsonc-parser@^2.3.0: 598 | version "2.3.1" 599 | resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-2.3.1.tgz#59549150b133f2efacca48fe9ce1ec0659af2342" 600 | integrity sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg== 601 | 602 | jsonc-parser@^3.0.0: 603 | version "3.1.0" 604 | resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.1.0.tgz#73b8f0e5c940b83d03476bc2e51a20ef0932615d" 605 | integrity sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg== 606 | 607 | jstransformer@1.0.0: 608 | version "1.0.0" 609 | resolved "https://registry.npmmirror.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" 610 | integrity sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A== 611 | dependencies: 612 | is-promise "^2.0.0" 613 | promise "^7.0.1" 614 | 615 | klona@^2.0.4: 616 | version "2.0.5" 617 | resolved "https://registry.npmmirror.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" 618 | integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== 619 | 620 | less-loader@^10.2.0: 621 | version "10.2.0" 622 | resolved "https://registry.npmmirror.com/less-loader/-/less-loader-10.2.0.tgz#97286d8797dc3dc05b1d16b0ecec5f968bdd4e32" 623 | integrity sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg== 624 | dependencies: 625 | klona "^2.0.4" 626 | 627 | less@^4.1.2: 628 | version "4.1.3" 629 | resolved "https://registry.npmmirror.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" 630 | integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== 631 | dependencies: 632 | copy-anything "^2.0.1" 633 | parse-node-version "^1.0.1" 634 | tslib "^2.3.0" 635 | optionalDependencies: 636 | errno "^0.1.1" 637 | graceful-fs "^4.1.2" 638 | image-size "~0.5.0" 639 | make-dir "^2.1.0" 640 | mime "^1.4.1" 641 | needle "^3.1.0" 642 | source-map "~0.6.0" 643 | 644 | lru-cache@^6.0.0: 645 | version "6.0.0" 646 | resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 647 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 648 | dependencies: 649 | yallist "^4.0.0" 650 | 651 | magic-string@^0.25.7: 652 | version "0.25.9" 653 | resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 654 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 655 | dependencies: 656 | sourcemap-codec "^1.4.8" 657 | 658 | make-dir@^2.1.0: 659 | version "2.1.0" 660 | resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 661 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 662 | dependencies: 663 | pify "^4.0.1" 664 | semver "^5.6.0" 665 | 666 | mime@^1.4.1: 667 | version "1.6.0" 668 | resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 669 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 670 | 671 | ms@^2.1.1: 672 | version "2.1.3" 673 | resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 674 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 675 | 676 | nanoid@^3.3.4: 677 | version "3.3.4" 678 | resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 679 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 680 | 681 | needle@^3.1.0: 682 | version "3.1.0" 683 | resolved "https://registry.npmmirror.com/needle/-/needle-3.1.0.tgz#3bf5cd090c28eb15644181ab6699e027bd6c53c9" 684 | integrity sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw== 685 | dependencies: 686 | debug "^3.2.6" 687 | iconv-lite "^0.6.3" 688 | sax "^1.2.4" 689 | 690 | object-assign@^4.1.1: 691 | version "4.1.1" 692 | resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 693 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 694 | 695 | pako@^2.0.4: 696 | version "2.0.4" 697 | resolved "https://registry.npmmirror.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" 698 | integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg== 699 | 700 | parse-node-version@^1.0.1: 701 | version "1.0.1" 702 | resolved "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" 703 | integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== 704 | 705 | path-parse@^1.0.7: 706 | version "1.0.7" 707 | resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 708 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 709 | 710 | picocolors@^1.0.0: 711 | version "1.0.0" 712 | resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 713 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 714 | 715 | pify@^4.0.1: 716 | version "4.0.1" 717 | resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 718 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 719 | 720 | postcss@^8.1.10, postcss@^8.4.13: 721 | version "8.4.16" 722 | resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" 723 | integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== 724 | dependencies: 725 | nanoid "^3.3.4" 726 | picocolors "^1.0.0" 727 | source-map-js "^1.0.2" 728 | 729 | promise@^7.0.1: 730 | version "7.3.1" 731 | resolved "https://registry.npmmirror.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" 732 | integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== 733 | dependencies: 734 | asap "~2.0.3" 735 | 736 | prr@~1.0.1: 737 | version "1.0.1" 738 | resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 739 | integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== 740 | 741 | pug-attrs@^3.0.0: 742 | version "3.0.0" 743 | resolved "https://registry.npmmirror.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41" 744 | integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA== 745 | dependencies: 746 | constantinople "^4.0.1" 747 | js-stringify "^1.0.2" 748 | pug-runtime "^3.0.0" 749 | 750 | pug-code-gen@^3.0.2: 751 | version "3.0.2" 752 | resolved "https://registry.npmmirror.com/pug-code-gen/-/pug-code-gen-3.0.2.tgz#ad190f4943133bf186b60b80de483100e132e2ce" 753 | integrity sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg== 754 | dependencies: 755 | constantinople "^4.0.1" 756 | doctypes "^1.1.0" 757 | js-stringify "^1.0.2" 758 | pug-attrs "^3.0.0" 759 | pug-error "^2.0.0" 760 | pug-runtime "^3.0.0" 761 | void-elements "^3.1.0" 762 | with "^7.0.0" 763 | 764 | pug-error@^2.0.0: 765 | version "2.0.0" 766 | resolved "https://registry.npmmirror.com/pug-error/-/pug-error-2.0.0.tgz#5c62173cb09c34de2a2ce04f17b8adfec74d8ca5" 767 | integrity sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ== 768 | 769 | pug-filters@^4.0.0: 770 | version "4.0.0" 771 | resolved "https://registry.npmmirror.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e" 772 | integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A== 773 | dependencies: 774 | constantinople "^4.0.1" 775 | jstransformer "1.0.0" 776 | pug-error "^2.0.0" 777 | pug-walk "^2.0.0" 778 | resolve "^1.15.1" 779 | 780 | pug-lexer@^5.0.1: 781 | version "5.0.1" 782 | resolved "https://registry.npmmirror.com/pug-lexer/-/pug-lexer-5.0.1.tgz#ae44628c5bef9b190b665683b288ca9024b8b0d5" 783 | integrity sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w== 784 | dependencies: 785 | character-parser "^2.2.0" 786 | is-expression "^4.0.0" 787 | pug-error "^2.0.0" 788 | 789 | pug-linker@^4.0.0: 790 | version "4.0.0" 791 | resolved "https://registry.npmmirror.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708" 792 | integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw== 793 | dependencies: 794 | pug-error "^2.0.0" 795 | pug-walk "^2.0.0" 796 | 797 | pug-load@^3.0.0: 798 | version "3.0.0" 799 | resolved "https://registry.npmmirror.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662" 800 | integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ== 801 | dependencies: 802 | object-assign "^4.1.1" 803 | pug-walk "^2.0.0" 804 | 805 | pug-parser@^6.0.0: 806 | version "6.0.0" 807 | resolved "https://registry.npmmirror.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260" 808 | integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw== 809 | dependencies: 810 | pug-error "^2.0.0" 811 | token-stream "1.0.0" 812 | 813 | pug-runtime@^3.0.0, pug-runtime@^3.0.1: 814 | version "3.0.1" 815 | resolved "https://registry.npmmirror.com/pug-runtime/-/pug-runtime-3.0.1.tgz#f636976204723f35a8c5f6fad6acda2a191b83d7" 816 | integrity sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg== 817 | 818 | pug-strip-comments@^2.0.0: 819 | version "2.0.0" 820 | resolved "https://registry.npmmirror.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e" 821 | integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ== 822 | dependencies: 823 | pug-error "^2.0.0" 824 | 825 | pug-walk@^2.0.0: 826 | version "2.0.0" 827 | resolved "https://registry.npmmirror.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe" 828 | integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ== 829 | 830 | pug@^3.0.2: 831 | version "3.0.2" 832 | resolved "https://registry.npmmirror.com/pug/-/pug-3.0.2.tgz#f35c7107343454e43bc27ae0ff76c731b78ea535" 833 | integrity sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw== 834 | dependencies: 835 | pug-code-gen "^3.0.2" 836 | pug-filters "^4.0.0" 837 | pug-lexer "^5.0.1" 838 | pug-linker "^4.0.0" 839 | pug-load "^3.0.0" 840 | pug-parser "^6.0.0" 841 | pug-runtime "^3.0.1" 842 | pug-strip-comments "^2.0.0" 843 | 844 | request-light@^0.5.4: 845 | version "0.5.8" 846 | resolved "https://registry.npmmirror.com/request-light/-/request-light-0.5.8.tgz#8bf73a07242b9e7b601fac2fa5dc22a094abcc27" 847 | integrity sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg== 848 | 849 | resolve@^1.15.1, resolve@^1.22.0: 850 | version "1.22.1" 851 | resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 852 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 853 | dependencies: 854 | is-core-module "^2.9.0" 855 | path-parse "^1.0.7" 856 | supports-preserve-symlinks-flag "^1.0.0" 857 | 858 | rollup@^2.59.0: 859 | version "2.77.2" 860 | resolved "https://registry.npmmirror.com/rollup/-/rollup-2.77.2.tgz#6b6075c55f9cc2040a5912e6e062151e42e2c4e3" 861 | integrity sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g== 862 | optionalDependencies: 863 | fsevents "~2.3.2" 864 | 865 | "safer-buffer@>= 2.1.2 < 3.0.0": 866 | version "2.1.2" 867 | resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 868 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 869 | 870 | sax@^1.2.4: 871 | version "1.2.4" 872 | resolved "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 873 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 874 | 875 | semver@^5.6.0: 876 | version "5.7.1" 877 | resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 878 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 879 | 880 | semver@^7.3.5: 881 | version "7.3.7" 882 | resolved "https://registry.npmmirror.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" 883 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 884 | dependencies: 885 | lru-cache "^6.0.0" 886 | 887 | source-map-js@^1.0.2: 888 | version "1.0.2" 889 | resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 890 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 891 | 892 | source-map@^0.6.1, source-map@~0.6.0: 893 | version "0.6.1" 894 | resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 895 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 896 | 897 | sourcemap-codec@^1.4.8: 898 | version "1.4.8" 899 | resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 900 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 901 | 902 | supports-preserve-symlinks-flag@^1.0.0: 903 | version "1.0.0" 904 | resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 905 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 906 | 907 | to-fast-properties@^2.0.0: 908 | version "2.0.0" 909 | resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 910 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 911 | 912 | token-stream@1.0.0: 913 | version "1.0.0" 914 | resolved "https://registry.npmmirror.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4" 915 | integrity sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg== 916 | 917 | tslib@2.3.0: 918 | version "2.3.0" 919 | resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" 920 | integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== 921 | 922 | tslib@^2.3.0: 923 | version "2.4.0" 924 | resolved "https://registry.npmmirror.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 925 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 926 | 927 | typescript@^4.5.4: 928 | version "4.7.4" 929 | resolved "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" 930 | integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== 931 | 932 | upath@^2.0.1: 933 | version "2.0.1" 934 | resolved "https://registry.npmmirror.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b" 935 | integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w== 936 | 937 | vite@^2.9.2: 938 | version "2.9.14" 939 | resolved "https://registry.npmmirror.com/vite/-/vite-2.9.14.tgz#c438324c6594afd1050df3777da981dee988bb1b" 940 | integrity sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw== 941 | dependencies: 942 | esbuild "^0.14.27" 943 | postcss "^8.4.13" 944 | resolve "^1.22.0" 945 | rollup "^2.59.0" 946 | optionalDependencies: 947 | fsevents "~2.3.2" 948 | 949 | void-elements@^3.1.0: 950 | version "3.1.0" 951 | resolved "https://registry.npmmirror.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" 952 | integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== 953 | 954 | vscode-css-languageservice@^5.1.7: 955 | version "5.4.2" 956 | resolved "https://registry.npmmirror.com/vscode-css-languageservice/-/vscode-css-languageservice-5.4.2.tgz#69ea74c000bd653dfc8e458a1720d28b9ffa5cfb" 957 | integrity sha512-DT7+7vfdT2HDNjDoXWtYJ0lVDdeDEdbMNdK4PKqUl2MS8g7PWt7J5G9B6k9lYox8nOfhCEjLnoNC3UKHHCR1lg== 958 | dependencies: 959 | vscode-languageserver-textdocument "^1.0.4" 960 | vscode-languageserver-types "^3.16.0" 961 | vscode-nls "^5.0.0" 962 | vscode-uri "^3.0.3" 963 | 964 | vscode-html-languageservice@^4.1.0: 965 | version "4.2.5" 966 | resolved "https://registry.npmmirror.com/vscode-html-languageservice/-/vscode-html-languageservice-4.2.5.tgz#c0cc8ff3d824d16388bbac187e1828749eccf006" 967 | integrity sha512-dbr10KHabB9EaK8lI0XZW7SqOsTfrNyT3Nuj0GoPi4LjGKUmMiLtsqzfedIzRTzqY+w0FiLdh0/kQrnQ0tLxrw== 968 | dependencies: 969 | vscode-languageserver-textdocument "^1.0.4" 970 | vscode-languageserver-types "^3.16.0" 971 | vscode-nls "^5.0.0" 972 | vscode-uri "^3.0.3" 973 | 974 | vscode-json-languageservice@^4.1.8: 975 | version "4.2.1" 976 | resolved "https://registry.npmmirror.com/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz#94b6f471ece193bf4a1ef37f6ab5cce86d50a8b4" 977 | integrity sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA== 978 | dependencies: 979 | jsonc-parser "^3.0.0" 980 | vscode-languageserver-textdocument "^1.0.3" 981 | vscode-languageserver-types "^3.16.0" 982 | vscode-nls "^5.0.0" 983 | vscode-uri "^3.0.3" 984 | 985 | vscode-jsonrpc@8.0.2, vscode-jsonrpc@^8.0.0-next.2: 986 | version "8.0.2" 987 | resolved "https://registry.npmmirror.com/vscode-jsonrpc/-/vscode-jsonrpc-8.0.2.tgz#f239ed2cd6004021b6550af9fd9d3e47eee3cac9" 988 | integrity sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ== 989 | 990 | vscode-languageserver-protocol@3.17.2: 991 | version "3.17.2" 992 | resolved "https://registry.npmmirror.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz#beaa46aea06ed061576586c5e11368a9afc1d378" 993 | integrity sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg== 994 | dependencies: 995 | vscode-jsonrpc "8.0.2" 996 | vscode-languageserver-types "3.17.2" 997 | 998 | vscode-languageserver-textdocument@^1.0.1, vscode-languageserver-textdocument@^1.0.3, vscode-languageserver-textdocument@^1.0.4: 999 | version "1.0.5" 1000 | resolved "https://registry.npmmirror.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.5.tgz#838769940ece626176ec5d5a2aa2d0aa69f5095c" 1001 | integrity sha512-1ah7zyQjKBudnMiHbZmxz5bYNM9KKZYz+5VQLj+yr8l+9w3g+WAhCkUkWbhMEdC5u0ub4Ndiye/fDyS8ghIKQg== 1002 | 1003 | vscode-languageserver-types@3.17.2, vscode-languageserver-types@^3.15.1, vscode-languageserver-types@^3.16.0: 1004 | version "3.17.2" 1005 | resolved "https://registry.npmmirror.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2" 1006 | integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA== 1007 | 1008 | vscode-languageserver@^8.0.0-next.2: 1009 | version "8.0.2" 1010 | resolved "https://registry.npmmirror.com/vscode-languageserver/-/vscode-languageserver-8.0.2.tgz#cfe2f0996d9dfd40d3854e786b2821604dfec06d" 1011 | integrity sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA== 1012 | dependencies: 1013 | vscode-languageserver-protocol "3.17.2" 1014 | 1015 | vscode-nls@^5.0.0: 1016 | version "5.1.0" 1017 | resolved "https://registry.npmmirror.com/vscode-nls/-/vscode-nls-5.1.0.tgz#443b301a7465d88c81c0f4e1914f9857f0dce1e4" 1018 | integrity sha512-37Ha44QrLFwR2IfSSYdOArzUvOyoWbOYTwQC+wS0NfqKjhW7s0WQ1lMy5oJXgSZy9sAiZS5ifELhbpXodeMR8w== 1019 | 1020 | vscode-pug-languageservice@0.29.8: 1021 | version "0.29.8" 1022 | resolved "https://registry.npmmirror.com/vscode-pug-languageservice/-/vscode-pug-languageservice-0.29.8.tgz#3d95f974bc273ddd8f5a8fb5d3ac8064b2dc63d1" 1023 | integrity sha512-QHYAzDSJLg7GOLxCZ12qsM0dAM0dPeMSS1t4kKfzLsfpErmZpFzkAIXbidVrNMdMffGZMtTuIlcpEyWHbx96Iw== 1024 | dependencies: 1025 | "@volar/code-gen" "0.29.8" 1026 | "@volar/shared" "0.29.8" 1027 | "@volar/source-map" "0.29.8" 1028 | "@volar/transforms" "0.29.8" 1029 | pug-lexer "^5.0.1" 1030 | pug-parser "^6.0.0" 1031 | vscode-languageserver "^8.0.0-next.2" 1032 | 1033 | vscode-typescript-languageservice@0.29.8: 1034 | version "0.29.8" 1035 | resolved "https://registry.npmmirror.com/vscode-typescript-languageservice/-/vscode-typescript-languageservice-0.29.8.tgz#370572e8c99c8b8190733a4bfc1b45c5f91aa044" 1036 | integrity sha512-eecDqHk4WjEvy6VHQ6teHczppQ9yJO2wExCy7yu7WiFj35qbw0h4G6Erv46MvP3ClL8FggFzD7s1qM6vdqJUfw== 1037 | dependencies: 1038 | "@volar/shared" "0.29.8" 1039 | semver "^7.3.5" 1040 | upath "^2.0.1" 1041 | vscode-languageserver "^8.0.0-next.2" 1042 | vscode-languageserver-textdocument "^1.0.1" 1043 | 1044 | vscode-uri@^2.1.2: 1045 | version "2.1.2" 1046 | resolved "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-2.1.2.tgz#c8d40de93eb57af31f3c715dd650e2ca2c096f1c" 1047 | integrity sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A== 1048 | 1049 | vscode-uri@^3.0.2, vscode-uri@^3.0.3: 1050 | version "3.0.3" 1051 | resolved "https://registry.npmmirror.com/vscode-uri/-/vscode-uri-3.0.3.tgz#a95c1ce2e6f41b7549f86279d19f47951e4f4d84" 1052 | integrity sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA== 1053 | 1054 | vscode-vue-languageservice@0.29.8: 1055 | version "0.29.8" 1056 | resolved "https://registry.npmmirror.com/vscode-vue-languageservice/-/vscode-vue-languageservice-0.29.8.tgz#6d59aab4fb94215b99b6f7d0e2ab73babd398d05" 1057 | integrity sha512-qSJdvW5ttyGUB/8uWDKgo8vnIoFnXYlBP4Z/cn54btsRn6ZMw7IJGJU1381e7p/yGvMTLeGbugD53SghbnSa6g== 1058 | dependencies: 1059 | "@volar/code-gen" "0.29.8" 1060 | "@volar/html2pug" "0.29.8" 1061 | "@volar/shared" "0.29.8" 1062 | "@volar/source-map" "0.29.8" 1063 | "@volar/transforms" "0.29.8" 1064 | "@volar/vue-code-gen" "0.29.8" 1065 | "@vscode/emmet-helper" "^2.8.0" 1066 | "@vue/reactivity" "^3.2.21" 1067 | "@vue/shared" "^3.2.21" 1068 | request-light "^0.5.4" 1069 | upath "^2.0.1" 1070 | vscode-css-languageservice "^5.1.7" 1071 | vscode-html-languageservice "^4.1.0" 1072 | vscode-json-languageservice "^4.1.8" 1073 | vscode-languageserver "^8.0.0-next.2" 1074 | vscode-languageserver-textdocument "^1.0.1" 1075 | vscode-pug-languageservice "0.29.8" 1076 | vscode-typescript-languageservice "0.29.8" 1077 | 1078 | vue-router@^4.0.14: 1079 | version "4.1.3" 1080 | resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.1.3.tgz#f8dc7931a2253cc5aa9b740f8b98969d08ca283c" 1081 | integrity sha512-XvK81bcYglKiayT7/vYAg/f36ExPC4t90R/HIpzrZ5x+17BOWptXLCrEPufGgZeuq68ww4ekSIMBZY1qdUdfjA== 1082 | dependencies: 1083 | "@vue/devtools-api" "^6.1.4" 1084 | 1085 | vue-tsc@^0.29.8: 1086 | version "0.29.8" 1087 | resolved "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.29.8.tgz#f4d8de5dd8756107c878489ccf9178d2d72fff47" 1088 | integrity sha512-pT0wLRjvRuSmB+J4WJT6uuV9mO0KtSSXEAtaVXZQzyk5+DJdbLIQTbRce/TXSkfqt1l1WogO78RjtOJFiMCgfQ== 1089 | dependencies: 1090 | "@volar/shared" "0.29.8" 1091 | vscode-vue-languageservice "0.29.8" 1092 | 1093 | vue-types@^4.1.1: 1094 | version "4.2.1" 1095 | resolved "https://registry.npmmirror.com/vue-types/-/vue-types-4.2.1.tgz#f8f7e5fb42d4a6acda6d92c9736b510e5534c753" 1096 | integrity sha512-DNQZmJuOvovLUIp0BENRkdnZHbI0V4e2mNvjAZOAXKD56YGvRchtUYOXA/XqTxdv7Ng5SJLZqRKRpAhm5NLaPQ== 1097 | dependencies: 1098 | is-plain-object "5.0.0" 1099 | 1100 | vue@^3.2.25: 1101 | version "3.2.37" 1102 | resolved "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz#da220ccb618d78579d25b06c7c21498ca4e5452e" 1103 | integrity sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ== 1104 | dependencies: 1105 | "@vue/compiler-dom" "3.2.37" 1106 | "@vue/compiler-sfc" "3.2.37" 1107 | "@vue/runtime-dom" "3.2.37" 1108 | "@vue/server-renderer" "3.2.37" 1109 | "@vue/shared" "3.2.37" 1110 | 1111 | with@^7.0.0: 1112 | version "7.0.2" 1113 | resolved "https://registry.npmmirror.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac" 1114 | integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w== 1115 | dependencies: 1116 | "@babel/parser" "^7.9.6" 1117 | "@babel/types" "^7.9.6" 1118 | assert-never "^1.2.1" 1119 | babel-walk "3.0.0-canary-5" 1120 | 1121 | yallist@^4.0.0: 1122 | version "4.0.0" 1123 | resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1124 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1125 | 1126 | zrender@5.3.2: 1127 | version "5.3.2" 1128 | resolved "https://registry.npmmirror.com/zrender/-/zrender-5.3.2.tgz#f67b11d36d3d020d62411d3bb123eb1c93cccd69" 1129 | integrity sha512-8IiYdfwHj2rx0UeIGZGGU4WEVSDEdeVCaIg/fomejg1Xu6OifAL1GVzIPHg2D+MyUkbNgPWji90t0a8IDk+39w== 1130 | dependencies: 1131 | tslib "2.3.0" 1132 | --------------------------------------------------------------------------------