diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 9599463..ba69195 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -37,7 +37,7 @@ jobs: env: NODE_OPTIONS: --max_old_space_size=8192 run: |- - npm run docs:build + npm run build > src/.vuepress/dist/.nojekyll - name: 部署文档 diff --git a/.gitignore b/.gitignore index 411fb0d..f959f57 100755 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,13 @@ - -node_modules/ -src/.vuepress/.cache/ -src/.vuepress/.temp/ -src/.vuepress/dist/ +pids +logs +node_modules +npm-debug.log +coverage/ +run +dist +.DS_Store +.nyc_output +.basement +config.local.js +basement_dist +.vercel diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 0bdea49..0000000 --- a/package-lock.json +++ /dev/null @@ -1,4773 +0,0 @@ -{ - "name": "openfrp-docs", - "version": "1.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "openfrp-docs", - "version": "1.1.0", - "license": "GPL3/0", - "devDependencies": { - "@vuepress/bundler-vite": "2.0.0-rc.14", - "vue": "^3.4.31", - "vuepress": "2.0.0-rc.14", - "vuepress-theme-hope": "2.0.0-rc.52" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.25.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/parser/-/parser-7.25.3.tgz", - "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.2" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.25.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/@babel/types/-/types-7.25.2.tgz", - "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", - "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/android-arm/-/android-arm-0.21.5.tgz", - "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", - "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/android-x64/-/android-x64-0.21.5.tgz", - "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", - "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", - "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", - "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", - "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", - "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", - "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", - "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", - "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", - "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", - "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", - "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", - "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", - "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", - "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", - "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", - "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", - "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", - "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", - "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.2.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.1.tgz", - "integrity": "sha512-wx4aBmgeGvFmOKucFKY+8VFJSYZxs9poN3SDNQFF6lT6NrQUnHiPB2PWz2sc4ieEcAaYYzN+1uWahEeTq2aRIQ==", - "dev": true - }, - "node_modules/@lit/reactive-element": { - "version": "2.0.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/@lit/reactive-element/-/reactive-element-2.0.4.tgz", - "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", - "dev": true, - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0" - } - }, - "node_modules/@mdit-vue/plugin-component": { - "version": "2.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/plugin-component/-/plugin-component-2.1.3.tgz", - "integrity": "sha512-9AG17beCgpEw/4ldo/M6Y/1Rh4E1bqMmr/rCkWKmCAxy9tJz3lzY7HQJanyHMJufwsb3WL5Lp7Om/aPcQTZ9SA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1", - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit-vue/plugin-frontmatter": { - "version": "2.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-2.1.3.tgz", - "integrity": "sha512-KxsSCUVBEmn6sJcchSTiI5v9bWaoRxe68RBYRDGcSEY1GTnfQ5gQPMIsM48P4q1luLEIWurVGGrRu7u93//LDQ==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "2.1.0", - "@types/markdown-it": "^14.1.1", - "gray-matter": "^4.0.3", - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit-vue/plugin-headers": { - "version": "2.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/plugin-headers/-/plugin-headers-2.1.3.tgz", - "integrity": "sha512-AcL7a7LHQR3ISINhfjGJNE/bHyM0dcl6MYm1Sr//zF7ZgokPGwD/HhD7TzwmrKA9YNYCcO9P3QmF/RN9XyA6CA==", - "dev": true, - "dependencies": { - "@mdit-vue/shared": "2.1.3", - "@mdit-vue/types": "2.1.0", - "@types/markdown-it": "^14.1.1", - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit-vue/plugin-sfc": { - "version": "2.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/plugin-sfc/-/plugin-sfc-2.1.3.tgz", - "integrity": "sha512-Ezl0dNvQNS639Yl4siXm+cnWtQvlqHrg+u+lnau/OHpj9Xh3LVap/BSQVugKIV37eR13jXXYf3VaAOP1fXPN+w==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "2.1.0", - "@types/markdown-it": "^14.1.1", - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit-vue/plugin-title": { - "version": "2.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/plugin-title/-/plugin-title-2.1.3.tgz", - "integrity": "sha512-XWVOQoZqczoN97xCDrnQicmXKoqwOjIymIm9HQnRXhHnYKOgJPW1CxSGhkcOGzvDU1v0mD/adojVyyj/s6ggWw==", - "dev": true, - "dependencies": { - "@mdit-vue/shared": "2.1.3", - "@mdit-vue/types": "2.1.0", - "@types/markdown-it": "^14.1.1", - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit-vue/plugin-toc": { - "version": "2.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/plugin-toc/-/plugin-toc-2.1.3.tgz", - "integrity": "sha512-41Q+iXpLHZt0zJdApVwoVt7WF6za/xUjtjEPf90Z3KLzQO01TXsv48Xp9BsrFHPcPcm8tiZ0+O1/ICJO80V/MQ==", - "dev": true, - "dependencies": { - "@mdit-vue/shared": "2.1.3", - "@mdit-vue/types": "2.1.0", - "@types/markdown-it": "^14.1.1", - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit-vue/shared": { - "version": "2.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/shared/-/shared-2.1.3.tgz", - "integrity": "sha512-27YI8b0VVZsAlNwaWoaOCWbr4eL8B04HxiYk/y2ktblO/nMcOEOLt4p0RjuobvdyUyjHvGOS09RKhq7qHm1CHQ==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "2.1.0", - "@types/markdown-it": "^14.1.1", - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit-vue/types": { - "version": "2.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit-vue/types/-/types-2.1.0.tgz", - "integrity": "sha512-TMBB/BQWVvwtpBdWD75rkZx4ZphQ6MN0O4QB2Bc0oI5PC2uE57QerhNxdRZ7cvBHE2iY2C+BUNUziCfJbjIRRA==", - "dev": true - }, - "node_modules/@mdit/plugin-alert": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-alert/-/plugin-alert-0.12.0.tgz", - "integrity": "sha512-4OyGK1PZrJbmEF/kS6GKmmG1nlN5h/CyIPZV8lRgnlWLFB37JiEz3EHusPAXAoMtw7VGNFaIcl7OT/I5yyz1JQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-align": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-align/-/plugin-align-0.12.0.tgz", - "integrity": "sha512-rvA+xzaVrlsr44s7XD/xadO3lF0QYWCbeSrOS2dhOroNCIOy4RotVP/1tQPr84eqm4oXcxXF0cbjFuwUgE1jYw==", - "dev": true, - "dependencies": { - "@mdit/plugin-container": "0.12.0", - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-attrs": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-attrs/-/plugin-attrs-0.12.0.tgz", - "integrity": "sha512-J0MBwBq958lBtdIcEo02mUIO4ubl2YK+bY799T2SusrLTf3FZsq8+d/OiLTUtovfxaphD7F6yqo8M61AiOpq+w==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-container": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-container/-/plugin-container-0.12.0.tgz", - "integrity": "sha512-61bWK1ek6Rn4o12/BIKTWgGU0miB9ENcXE19H5D4DRhwG5+4+0zp2U6hRLf/mE73+mRYin7iKVzcwwEsqs+u8w==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-demo": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-demo/-/plugin-demo-0.12.0.tgz", - "integrity": "sha512-+KDUOgcvnMtBN/uYWlhIFuWkTJexuxstq8ERy9q7vOiu8Go85qCb27h0RSToKBTmmGy+XqfU2EdJclYPWBupJQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-figure": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-figure/-/plugin-figure-0.12.0.tgz", - "integrity": "sha512-3nfcGI+uM0f6AqHZrEr8kSMBI6T2+fKKQXtCbvWQqQ+P3iGgf34Ay2eAtuMDcDGqyfNuR6e8aLoOeY2QWuEynA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-footnote": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-footnote/-/plugin-footnote-0.12.0.tgz", - "integrity": "sha512-9B+bJdMndCPoA9De9bxRm4/fyz02PHRcttOyuyPJ3G+wCAgIN1c/7CB8ViT1YJuECUjLogJQ/rrgqh7f0LTqLQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - } - }, - "node_modules/@mdit/plugin-img-lazyload": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-img-lazyload/-/plugin-img-lazyload-0.12.0.tgz", - "integrity": "sha512-6R42ieXzwkB5BKKZi+ZefqeP/fBG5qo7Sqtl72ewSVqEQ30bgxpk6nkrPI2orRob4tb6z0F/c+R8h6PW5MkTOw==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-img-mark": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-img-mark/-/plugin-img-mark-0.12.0.tgz", - "integrity": "sha512-HkIUwlTg/xPsBi4PG+5dsMnsb7wdiJzELSCEUfdAJTg55nksonHfyV2pFpr87MML4nuZlZK9JHt+Bm2BBDSVSw==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-img-size": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-img-size/-/plugin-img-size-0.12.0.tgz", - "integrity": "sha512-fCcF5gc+ba6gQ5ebrKuI8bK/gFbj8mbeN45FHmBsFDFsfTHa0Xij2v8iok0nP8YEIVj71y8XYojsqCWs6avong==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-include": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-include/-/plugin-include-0.12.0.tgz", - "integrity": "sha512-8pnmp7s1TjbtoBIa/YhYpEivOpeVSyhkQoQrGq1UoaEcTbXqmFwShGkAW3zUYZVFYTl74PgL/UqJnrUojegJQg==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1", - "upath": "^2.0.1" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-katex-slim": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-katex-slim/-/plugin-katex-slim-0.12.0.tgz", - "integrity": "sha512-s2MJGXFZT7u8IUTmy6K1rxxAdYRmGggu0m860siyUrThL112xLN9r3jmXZ83epgi4UA/gLkRDAU5vF6R2JtyjQ==", - "dev": true, - "dependencies": { - "@mdit/plugin-tex": "0.12.0", - "@types/katex": "^0.16.7", - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "katex": "^0.16.9", - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "katex": { - "optional": true - }, - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-mark": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-mark/-/plugin-mark-0.12.0.tgz", - "integrity": "sha512-BDFwbV/tbgUGL8KF2ymYNLEXT2KNBLe8D0rshDrbB4Iko1U2DywACQkmaUbYBJ1VCn7/dff35at9fWrm3QjrwQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-mathjax-slim": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-mathjax-slim/-/plugin-mathjax-slim-0.12.0.tgz", - "integrity": "sha512-bLM+JnCTN/3XiyKb64Yhpx014VYLfHBexua4n92cUyoKR9g3waB0loF1WMlg6GdyCTc7OvrUSceNjwWj3YRogg==", - "dev": true, - "dependencies": { - "@mdit/plugin-tex": "0.12.0", - "@types/markdown-it": "^14.1.1", - "upath": "^2.0.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0", - "mathjax-full": "^3.2.2" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - }, - "mathjax-full": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-plantuml": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-plantuml/-/plugin-plantuml-0.12.0.tgz", - "integrity": "sha512-m1pk6PA9+kWUs8kylLqjnQ7Lex68x3c4Ato8zAh+omkhugfWzuQXfFiXRiJ9C7wkdqHoJx/E5XobP3HJnhCpoA==", - "dev": true, - "dependencies": { - "@mdit/plugin-uml": "0.12.0", - "@types/markdown-it": "^14.1.1" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-spoiler": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-spoiler/-/plugin-spoiler-0.12.0.tgz", - "integrity": "sha512-7yu+Gz000O0OxGnGYOoj77Am3WgH4GwzOvwCp7tPLexkJwTve8MyT9In/NEPFaRw8fmgXwthC0gKq4Ubh1+8DA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-stylize": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-stylize/-/plugin-stylize-0.12.0.tgz", - "integrity": "sha512-5bzZvmjEpGTdwBax9jaDbCBhD1snEx6uTHVUG9HD/L5koKrL86+ox9E5FGeiMiD1dtxeMgL+WqBzV44nRE9ZPg==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-sub": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-sub/-/plugin-sub-0.12.0.tgz", - "integrity": "sha512-27kKkSVkymc+2RNc5XOYkeXip5PgHZPUnHpxUvkpnairLwyHsXb8/gzr9zd5arVkip86rcdy9LIvnF7zO0dNVQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-sup": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-sup/-/plugin-sup-0.12.0.tgz", - "integrity": "sha512-3bEDW5/y1UDVU8LVbFsqUvNcMW6orp16uCdRGYCNZ3/IeK7Qj1/9a3wfhScIoI8xRUE6M3JLv41sGBFXLHwi1w==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-tab": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-tab/-/plugin-tab-0.12.0.tgz", - "integrity": "sha512-ZDTEDxHoekcFA5Al+NLizn8Nf0kj6ABkNBAc/VxbQoVQdjZNQtGY2dOPeWW0I96Rao+Aw+IpYRCLFIfb/KtExw==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-tasklist": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-tasklist/-/plugin-tasklist-0.12.0.tgz", - "integrity": "sha512-MPmuLJrqHYR2xI7ST9Xtw/xj+6Xoq7kUvcGuXWdMMNT11DcU1KppkR8QBHov437NFYh6aGyjrHUVeM4T5Ls8yg==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-tex": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-tex/-/plugin-tex-0.12.0.tgz", - "integrity": "sha512-ejeSgSeZvcI5P4hFFQ4q5pHrZBGO2fQWVGm6dZ3BhX4ldoV8LjCIzkcMMXhrhSOVjwHnqmF6xOh9EvI0jzak1w==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@mdit/plugin-uml": { - "version": "0.12.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@mdit/plugin-uml/-/plugin-uml-0.12.0.tgz", - "integrity": "sha512-EfVMmq0CwLJcssxhkvGS2ESenNNEMeK04j702Z9v3am1M9DdEj6zHTrHQd9tA0jNVuFY8ZlmMgDfkkG5k6Rm3Q==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "markdown-it": "^14.1.0" - }, - "peerDependenciesMeta": { - "markdown-it": { - "optional": true - } - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://mirrors.cloud.tencent.com/npm/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", - "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", - "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", - "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", - "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", - "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", - "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", - "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", - "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", - "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", - "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", - "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", - "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", - "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", - "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", - "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", - "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true - }, - "node_modules/@shikijs/core": { - "version": "1.13.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@shikijs/core/-/core-1.13.0.tgz", - "integrity": "sha512-Mj5NVfbAXcD1GnwOTSPl8hBn/T8UDpfFQTptp+p41n/CbUcJtOq98WaRD7Lz3hCglYotUTHUWtzu3JhK6XlkAA==", - "dev": true, - "dependencies": { - "@types/hast": "^3.0.4" - } - }, - "node_modules/@shikijs/transformers": { - "version": "1.13.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@shikijs/transformers/-/transformers-1.13.0.tgz", - "integrity": "sha512-51aLIT6a93rVGoTxl2+p6hb7ILbTA4p/unoibEAjnPMzHto4cqxhuHyDVgtQur5ANpGsL3ihSGKaZDrpcWH8vQ==", - "dev": true, - "dependencies": { - "shiki": "1.13.0" - } - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@stackblitz/sdk": { - "version": "1.11.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@stackblitz/sdk/-/sdk-1.11.0.tgz", - "integrity": "sha512-DFQGANNkEZRzFk1/rDP6TcFdM82ycHE+zfl9C/M/jXlH68jiqHWHFMQURLELoD8koxvu/eW5uhg94NSAZlYrUQ==", - "dev": true - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dev": true, - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/fs-extra": { - "version": "11.0.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/fs-extra/-/fs-extra-11.0.4.tgz", - "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", - "dev": true, - "dependencies": { - "@types/jsonfile": "*", - "@types/node": "*" - } - }, - "node_modules/@types/hash-sum": { - "version": "1.0.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==", - "dev": true - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "dev": true, - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/jsonfile": { - "version": "6.1.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/jsonfile/-/jsonfile-6.1.4.tgz", - "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/katex": { - "version": "0.16.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/katex/-/katex-0.16.7.tgz", - "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", - "dev": true - }, - "node_modules/@types/linkify-it": { - "version": "5.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true - }, - "node_modules/@types/markdown-it": { - "version": "14.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/markdown-it/-/markdown-it-14.1.2.tgz", - "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", - "dev": true, - "dependencies": { - "@types/linkify-it": "^5", - "@types/mdurl": "^2" - } - }, - "node_modules/@types/markdown-it-emoji": { - "version": "3.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/markdown-it-emoji/-/markdown-it-emoji-3.0.1.tgz", - "integrity": "sha512-cz1j8R35XivBqq9mwnsrP2fsz2yicLhB8+PDtuVkKOExwEdsVBNI+ROL3sbhtR5occRZ66vT0QnwFZCqdjf3pA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^14" - } - }, - "node_modules/@types/mdurl": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true - }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-22.3.0.tgz", - "integrity": "sha512-nrWpWVaDZuaVc5X84xJ0vNrLvomM205oQyLsRt7OHNZbSHslcWsvgFR7O7hire2ZonjLrWBbedmotmIlJDVd6g==", - "dev": true, - "dependencies": { - "undici-types": "~6.18.2" - } - }, - "node_modules/@types/sax": { - "version": "1.2.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/sax/-/sax-1.2.7.tgz", - "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "dev": true - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "dev": true - }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", - "dev": true - }, - "node_modules/@vitejs/plugin-vue": { - "version": "5.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vitejs/plugin-vue/-/plugin-vue-5.1.2.tgz", - "integrity": "sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==", - "dev": true, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": "^5.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/compiler-core/-/compiler-core-3.4.37.tgz", - "integrity": "sha512-ZDDT/KiLKuCRXyzWecNzC5vTcubGz4LECAtfGPENpo0nrmqJHwuWtRLxk/Sb9RAKtR9iFflFycbkjkY+W/PZUQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.37", - "entities": "^5.0.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-core/node_modules/entities": { - "version": "5.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/entities/-/entities-5.0.0.tgz", - "integrity": "sha512-BeJFvFRJddxobhvEdm5GqHzRV/X+ACeuw0/BuuxsCh1EUZcAIz8+kYmBp/LrQuloy6K1f3a0M7+IhmZ7QnkISA==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/compiler-dom/-/compiler-dom-3.4.37.tgz", - "integrity": "sha512-rIiSmL3YrntvgYV84rekAtU/xfogMUJIclUMeIKEtVBFngOL3IeZHhsH3UaFEgB5iFGpj6IW+8YuM/2Up+vVag==", - "dev": true, - "dependencies": { - "@vue/compiler-core": "3.4.37", - "@vue/shared": "3.4.37" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/compiler-sfc/-/compiler-sfc-3.4.37.tgz", - "integrity": "sha512-vCfetdas40Wk9aK/WWf8XcVESffsbNkBQwS5t13Y/PcfqKfIwJX2gF+82th6dOpnpbptNMlMjAny80li7TaCIg==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/compiler-core": "3.4.37", - "@vue/compiler-dom": "3.4.37", - "@vue/compiler-ssr": "3.4.37", - "@vue/shared": "3.4.37", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.10", - "postcss": "^8.4.40", - "source-map-js": "^1.2.0" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/compiler-ssr/-/compiler-ssr-3.4.37.tgz", - "integrity": "sha512-TyAgYBWrHlFrt4qpdACh8e9Ms6C/AZQ6A6xLJaWrCL8GCX5DxMzxyeFAEMfU/VFr4tylHm+a2NpfJpcd7+20XA==", - "dev": true, - "dependencies": { - "@vue/compiler-dom": "3.4.37", - "@vue/shared": "3.4.37" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.6.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/devtools-api/-/devtools-api-6.6.3.tgz", - "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==", - "dev": true - }, - "node_modules/@vue/reactivity": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/reactivity/-/reactivity-3.4.37.tgz", - "integrity": "sha512-UmdKXGx0BZ5kkxPqQr3PK3tElz6adTey4307NzZ3whZu19i5VavYal7u2FfOmAzlcDVgE8+X0HZ2LxLb/jgbYw==", - "dev": true, - "dependencies": { - "@vue/shared": "3.4.37" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/runtime-core/-/runtime-core-3.4.37.tgz", - "integrity": "sha512-MNjrVoLV/sirHZoD7QAilU1Ifs7m/KJv4/84QVbE6nyAZGQNVOa1HGxaOzp9YqCG+GpLt1hNDC4RbH+KtanV7w==", - "dev": true, - "dependencies": { - "@vue/reactivity": "3.4.37", - "@vue/shared": "3.4.37" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/runtime-dom/-/runtime-dom-3.4.37.tgz", - "integrity": "sha512-Mg2EwgGZqtwKrqdL/FKMF2NEaOHuH+Ks9TQn3DHKyX//hQTYOun+7Tqp1eo0P4Ds+SjltZshOSRq6VsU0baaNg==", - "dev": true, - "dependencies": { - "@vue/reactivity": "3.4.37", - "@vue/runtime-core": "3.4.37", - "@vue/shared": "3.4.37", - "csstype": "^3.1.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/server-renderer/-/server-renderer-3.4.37.tgz", - "integrity": "sha512-jZ5FAHDR2KBq2FsRUJW6GKDOAG9lUTX8aBEGq4Vf6B/35I9fPce66BornuwmqmKgfiSlecwuOb6oeoamYMohkg==", - "dev": true, - "dependencies": { - "@vue/compiler-ssr": "3.4.37", - "@vue/shared": "3.4.37" - }, - "peerDependencies": { - "vue": "3.4.37" - } - }, - "node_modules/@vue/shared": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vue/shared/-/shared-3.4.37.tgz", - "integrity": "sha512-nIh8P2fc3DflG8+5Uw8PT/1i17ccFn0xxN/5oE9RfV5SVnd7G0XEFRwakrnNFE/jlS95fpGXDVG5zDETS26nmg==", - "dev": true - }, - "node_modules/@vuepress/bundler-vite": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/bundler-vite/-/bundler-vite-2.0.0-rc.14.tgz", - "integrity": "sha512-kttbowYITMCX3ztz78Qb6bMfXRv/GEpNu+nALksu7j/QJQ0gOzI2is68PatbmzZRWOufVsf1Zf0A8BwolmVcXA==", - "dev": true, - "dependencies": { - "@vitejs/plugin-vue": "^5.0.5", - "@vuepress/client": "2.0.0-rc.14", - "@vuepress/core": "2.0.0-rc.14", - "@vuepress/shared": "2.0.0-rc.14", - "@vuepress/utils": "2.0.0-rc.14", - "autoprefixer": "^10.4.19", - "connect-history-api-fallback": "^2.0.0", - "postcss": "^8.4.38", - "postcss-load-config": "^6.0.1", - "rollup": "^4.18.0", - "vite": "~5.3.1", - "vue": "^3.4.29", - "vue-router": "^4.3.3" - } - }, - "node_modules/@vuepress/cli": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/cli/-/cli-2.0.0-rc.14.tgz", - "integrity": "sha512-oYJX1nE6/ohF2tzUtpBAFxRr4MF2kdtab3+AQ897esXzrciQnE2LxPQZ8BUOn6Jb3XYW12FXDdkHrr82rN6XnQ==", - "dev": true, - "dependencies": { - "@vuepress/core": "2.0.0-rc.14", - "@vuepress/shared": "2.0.0-rc.14", - "@vuepress/utils": "2.0.0-rc.14", - "cac": "^6.7.14", - "chokidar": "^3.6.0", - "envinfo": "^7.13.0", - "esbuild": "~0.21.5" - }, - "bin": { - "vuepress-cli": "bin/vuepress.js" - } - }, - "node_modules/@vuepress/client": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/client/-/client-2.0.0-rc.14.tgz", - "integrity": "sha512-ULwxOiWoUi15HWQ6qH60gWjxSXB0797uExCUa4HgHV/8SpIqv4SHFn6jqjo7qCzOxuTqj1RT47JH3oWfUF4XPA==", - "dev": true, - "dependencies": { - "@vue/devtools-api": "^6.6.3", - "@vuepress/shared": "2.0.0-rc.14", - "vue": "^3.4.29", - "vue-router": "^4.3.3" - } - }, - "node_modules/@vuepress/core": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/core/-/core-2.0.0-rc.14.tgz", - "integrity": "sha512-Ly3fypjXGUgPzjfbXKJeyd59jxJgXkhxhWAGkH/rRyQeV8Nr7Wo1ah3H1MeGhlCRGH1T9Yd3Bz9W7QMoyWFfmg==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-rc.14", - "@vuepress/markdown": "2.0.0-rc.14", - "@vuepress/shared": "2.0.0-rc.14", - "@vuepress/utils": "2.0.0-rc.14", - "vue": "^3.4.29" - } - }, - "node_modules/@vuepress/helper": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/helper/-/helper-2.0.0-rc.39.tgz", - "integrity": "sha512-X9KiTUjtrT6gxrDUDJhiB5+/kO4via8yzudowOPu55p/MKtPbShlJw/zEDivH3P4nD1LFWnjWWuEBgZLFymLFQ==", - "dev": true, - "dependencies": { - "@vue/shared": "^3.4.32", - "cheerio": "1.0.0-rc.12", - "fflate": "^0.8.2", - "gray-matter": "^4.0.3", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/highlighter-helper": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/highlighter-helper/-/highlighter-helper-2.0.0-rc.39.tgz", - "integrity": "sha512-da4wob8vmrB8DGsBsJCF1ox4E50/9Yc3F9CkNvuH/BS/Touk5KabAw36dCDW/420jTrm5UjRgwfVzfkakcaRIQ==", - "dev": true, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/markdown": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/markdown/-/markdown-2.0.0-rc.14.tgz", - "integrity": "sha512-9xr693gkp71qwEbQLxpo1ybhJ+lA2k5SiuFUgqqrmR2a8CSL3gcmKEGM+y7GMnHvL63U2dYlc9pUOtJ5rG9O0Q==", - "dev": true, - "dependencies": { - "@mdit-vue/plugin-component": "^2.1.3", - "@mdit-vue/plugin-frontmatter": "^2.1.3", - "@mdit-vue/plugin-headers": "^2.1.3", - "@mdit-vue/plugin-sfc": "^2.1.3", - "@mdit-vue/plugin-title": "^2.1.3", - "@mdit-vue/plugin-toc": "^2.1.3", - "@mdit-vue/shared": "^2.1.3", - "@mdit-vue/types": "^2.1.0", - "@types/markdown-it": "^14.1.1", - "@types/markdown-it-emoji": "^3.0.1", - "@vuepress/shared": "2.0.0-rc.14", - "@vuepress/utils": "2.0.0-rc.14", - "markdown-it": "^14.1.0", - "markdown-it-anchor": "^9.0.1", - "markdown-it-emoji": "^3.0.0", - "mdurl": "^2.0.0" - } - }, - "node_modules/@vuepress/plugin-active-header-links": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-rc.39.tgz", - "integrity": "sha512-Nm4srR+/kEoawFikbpXdJmi3dvXKU4RcsuOW6d0Aa6JWdiB8sX9PbCWbJD+ZWvAa8o+ySBBHFNd4exTzfCtBlw==", - "dev": true, - "dependencies": { - "@vueuse/core": "^10.11.0", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-back-to-top": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-rc.39.tgz", - "integrity": "sha512-rG9HVgvpxURGfDZeuVRCjXLFHIEqPh1VPqkQpldh1zpDbB4+V2xqq73TYfpjFBRekN8lJZ0JO3BJ8f7p9t4wLg==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-blog": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-blog/-/plugin-blog-2.0.0-rc.39.tgz", - "integrity": "sha512-YHxsZxlIeJGCcOdEm4c4lQoNHx358Zxu/0tvRC/jEwXgyZUnqSpbMd3FLJ9Yl7CPsp18PMLIN7d8YQOetR17zA==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "chokidar": "^3.6.0", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-catalog": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-catalog/-/plugin-catalog-2.0.0-rc.39.tgz", - "integrity": "sha512-WAxCpDAZO4Pzozh6l5zPk/XYXgxAMq96PksgrVjlWsp1c4UKM7QiUMAXKH0UfbgcQhtLJoWQ37F8EZnJAMEXDQ==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-comment": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-comment/-/plugin-comment-2.0.0-rc.39.tgz", - "integrity": "sha512-/oCS+0wH/MtE4c1HUKlqH/tj70oXSz/tfR1hsHj8F8wiZ+IVJxexvtzMKk0vdRmYnH4nqeZh6dg5ggSJjrLEZQ==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "giscus": "^1.5.0", - "vue": "^3.4.32" - }, - "peerDependencies": { - "@waline/client": "^3.1.0", - "artalk": "^2.8.7", - "twikoo": "^1.5.0", - "vuepress": "2.0.0-rc.14" - }, - "peerDependenciesMeta": { - "@waline/client": { - "optional": true - }, - "artalk": { - "optional": true - }, - "twikoo": { - "optional": true - } - } - }, - "node_modules/@vuepress/plugin-copy-code": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-copy-code/-/plugin-copy-code-2.0.0-rc.39.tgz", - "integrity": "sha512-Udd73yfUvjCQadE+QRXCC+Rw2zxRNsBIcpDcFMzs3Vz93LbZxbG0cv6pO4rdKb3OrFH9M0JTawoWyANZspt3QQ==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-copyright": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-copyright/-/plugin-copyright-2.0.0-rc.39.tgz", - "integrity": "sha512-webOz7vcBydcpqRdLMQYtykEGD5NqZ8ykoZ6dLF9Yk7LteUgsSVUSMm7cJ2vxG2dD/SeH5dPlsr02lH+PH0VbQ==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-git": { - "version": "2.0.0-rc.38", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-git/-/plugin-git-2.0.0-rc.38.tgz", - "integrity": "sha512-dRJiZ5PVuhhyu+R2BZOlyeqgxVikUUh2Vf6RNVN2DNWv4VHdYybFQuQ+kYDpldYyzoP8932aFRV0d2ocpvxEug==", - "dev": true, - "dependencies": { - "execa": "^9.3.0" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-links-check": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-links-check/-/plugin-links-check-2.0.0-rc.39.tgz", - "integrity": "sha512-2lQHIMO49jYcJnEWHf7yoXnuFUrAQC+LfzSvaeCMUzshEIDTJXy96LSCQCjRWwW02GL65qS9ODfr6b8DDuXMgg==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-notice": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-notice/-/plugin-notice-2.0.0-rc.39.tgz", - "integrity": "sha512-GNnNIxZJBt2q8XAtgrpCxovEB0vRXjrCccu4TBjPnSimjreo/i7uaHkxDyCb3O9tNQGEd6OaObOkHFBJ7vXaTg==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-nprogress": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-rc.39.tgz", - "integrity": "sha512-HH+GuR2sxzVQ5uIQxDHnQF5RevjefviLuAbB1UH4u1R6DRUDd9+DrqXm4T/0LJJWo4OCPO4DLzPpmRESjuZifw==", - "dev": true, - "dependencies": { - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-photo-swipe": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-photo-swipe/-/plugin-photo-swipe-2.0.0-rc.39.tgz", - "integrity": "sha512-MS9xlTAEd7/nJHSPphS2diyvyRzuXRk0zYVlBSDcv8ge3X9gxkMhEcOoRfU6PymxMuovJKBIeTE4mvZQ9Wl9eQ==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "photoswipe": "^5.4.4", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-reading-time": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-reading-time/-/plugin-reading-time-2.0.0-rc.39.tgz", - "integrity": "sha512-ChfVi6be4hAXd0XIgyfdNGayIQTzRKFZB2JFWB12+TYBJr6TQ7j6tmL7FWOiYPXUPetVPm6CfuY+mdiaBq2vqg==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-rtl": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-rtl/-/plugin-rtl-2.0.0-rc.39.tgz", - "integrity": "sha512-1ndKbzpGxJ6qLIOjTeZkAcsqq4eJ54hUrhraOmv21UneVIVDSAt80VeKnSwl8p269T94AxqNqfLsnnaCQ5uvRw==", - "dev": true, - "dependencies": { - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-sass-palette": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-sass-palette/-/plugin-sass-palette-2.0.0-rc.39.tgz", - "integrity": "sha512-jBo/4Lz7H9pa7TCqMSFiEyZRowsLCOVHj+yrp0PE1fAwx+qTm9dNSDKauWIKGplFGQqf4BdKITE7hPDoBePiDw==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "chokidar": "^3.6.0", - "sass": "^1.77.8" - }, - "peerDependencies": { - "sass-loader": "^14.0.0", - "vuepress": "2.0.0-rc.14" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - } - } - }, - "node_modules/@vuepress/plugin-seo": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-seo/-/plugin-seo-2.0.0-rc.39.tgz", - "integrity": "sha512-n6w3ifBU2HK3b6twxJQiiv7vZxjCi0DCgW3Ellp7pNI/uZU6PnfkZ+UjtlHieScThe7A8Q+mxW/T7CyWC6/8cw==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-shiki": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-shiki/-/plugin-shiki-2.0.0-rc.39.tgz", - "integrity": "sha512-QnD8VhOqpkgLCnwLGzcyPY8eC1dam2Navud9DyisLtqWOJ6zmjFZEE1O5elUjh6cPUtarN8bQQ/zn1M1ebRURA==", - "dev": true, - "dependencies": { - "@shikijs/transformers": "^1.10.3", - "@vuepress/helper": "2.0.0-rc.39", - "@vuepress/highlighter-helper": "2.0.0-rc.39", - "nanoid": "^5.0.7", - "shiki": "^1.10.3" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-shiki/node_modules/nanoid": { - "version": "5.0.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/nanoid/-/nanoid-5.0.7.tgz", - "integrity": "sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^18 || >=20" - } - }, - "node_modules/@vuepress/plugin-sitemap": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-sitemap/-/plugin-sitemap-2.0.0-rc.39.tgz", - "integrity": "sha512-/dgI8JK4oFaFG3Dmw34cwY5J/gYXNWto7RwR7H8wcK10cWuoT2tNV56BeixWiaqsKj1BZjv2GMwZTLpPgYxgZw==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "sitemap": "^8.0.0" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-theme-data": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-rc.39.tgz", - "integrity": "sha512-fNwaPpqM46gI23n5d4UrwC8Y+JRDi7mKs1sjawqKU9PdJpUQKd/2lOSOSx/farLqxiswHTQdZtLCxWjvWlcZRw==", - "dev": true, - "dependencies": { - "@vue/devtools-api": "^6.6.3", - "vue": "^3.4.32" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/plugin-watermark": { - "version": "2.0.0-rc.39", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/plugin-watermark/-/plugin-watermark-2.0.0-rc.39.tgz", - "integrity": "sha512-16BZnwIZa+AEBcnXI59udHX04/VLiCwrdy8wsdBf3vy5co8/PPyG3iDC1Tlwbkotsuz/+J23KG7MjN4Fr9dFEQ==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "vue": "^3.4.32", - "watermark-js-plus": "^1.5.2" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/@vuepress/shared": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/shared/-/shared-2.0.0-rc.14.tgz", - "integrity": "sha512-VDDnPpz4x1Q07richcVRGbc4qc2RG/6bKoEYSImofTFzvdmHer538ouv8kD2SNU10UrSOpxxUiphnhlhNIe03A==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "^2.1.0" - } - }, - "node_modules/@vuepress/utils": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vuepress/utils/-/utils-2.0.0-rc.14.tgz", - "integrity": "sha512-1h/5qcKBeIhIg6SZM2IoZVOaIdFSeQ1CdEWadqQWy1uwupEeVrU3QPkjFyn0vUt0O/EuuVqQcLLC8OuS/wldNw==", - "dev": true, - "dependencies": { - "@types/debug": "^4.1.12", - "@types/fs-extra": "^11.0.4", - "@types/hash-sum": "^1.0.2", - "@vuepress/shared": "2.0.0-rc.14", - "debug": "^4.3.5", - "fs-extra": "^11.2.0", - "globby": "^14.0.1", - "hash-sum": "^2.0.0", - "ora": "^8.0.1", - "picocolors": "^1.0.1", - "upath": "^2.0.1" - } - }, - "node_modules/@vueuse/core": { - "version": "10.11.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vueuse/core/-/core-10.11.1.tgz", - "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", - "dev": true, - "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.11.1", - "@vueuse/shared": "10.11.1", - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://mirrors.cloud.tencent.com/npm/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "dev": true, - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/@vueuse/metadata": { - "version": "10.11.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vueuse/metadata/-/metadata-10.11.1.tgz", - "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared": { - "version": "10.11.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/@vueuse/shared/-/shared-10.11.1.tgz", - "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", - "dev": true, - "dependencies": { - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://mirrors.cloud.tencent.com/npm/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "dev": true, - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://mirrors.cloud.tencent.com/npm/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://mirrors.cloud.tencent.com/npm/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/balloon-css": { - "version": "1.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/balloon-css/-/balloon-css-1.2.0.tgz", - "integrity": "sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==", - "dev": true - }, - "node_modules/bcrypt-ts": { - "version": "5.0.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/bcrypt-ts/-/bcrypt-ts-5.0.2.tgz", - "integrity": "sha512-gDwQ5784AkkfhHACh3jGcg1hUubyZyeq9AtVd5gXkcyHGVOC+mORjRIHSj+fHfqwY5vxwyBLXQpcfk8MpK0ROg==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001651", - "resolved": "https://mirrors.cloud.tencent.com/npm/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", - "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://mirrors.cloud.tencent.com/npm/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "dev": true, - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/cli-cursor": { - "version": "4.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/cli-cursor/-/cli-cursor-4.0.0.tgz", - "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", - "dev": true, - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/create-codepen": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/create-codepen/-/create-codepen-2.0.0.tgz", - "integrity": "sha512-ehJ0Zw5RSV2G4+/azUb7vEZWRSA/K9cW7HDock1Y9ViDexkgSJUZJRcObdw/YAWeXKjreEQV9l/igNSsJ1yw5A==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true - }, - "node_modules/dayjs": { - "version": "1.11.12", - "resolved": "https://mirrors.cloud.tencent.com/npm/dayjs/-/dayjs-1.11.12.tgz", - "integrity": "sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://mirrors.cloud.tencent.com/npm/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "dev": true - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/electron-to-chromium/-/electron-to-chromium-1.5.7.tgz", - "integrity": "sha512-6FTNWIWMxMy/ZY6799nBlPtF1DFDQ6VQJ7yyDP27SJNt5lwtQ5ufqVvHylb3fdQefvRcgA3fKcFMJi9OLwBRNw==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.13.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/envinfo/-/envinfo-7.13.0.tgz", - "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/execa": { - "version": "9.3.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/execa/-/execa-9.3.1.tgz", - "integrity": "sha512-gdhefCCNy/8tpH/2+ajP9IQc14vXchNdd0weyzSJEFURhRMGncQ+zKFxwjAufIewPEJm9BPOaJnvg2UtlH2gPQ==", - "dev": true, - "dependencies": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.0", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^5.2.0", - "pretty-ms": "^9.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" - }, - "engines": { - "node": "^18.19.0 || >=20.5.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true - }, - "node_modules/figures": { - "version": "6.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", - "dev": true, - "dependencies": { - "is-unicode-supported": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fs-extra": { - "version": "11.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/fs-extra/-/fs-extra-11.2.0.tgz", - "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "dev": true, - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/giscus": { - "version": "1.5.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/giscus/-/giscus-1.5.0.tgz", - "integrity": "sha512-t3LL0qbSO3JXq3uyQeKpF5CegstGfKX/0gI6eDe1cmnI7D56R7j52yLdzw4pdKrg3VnufwCgCM3FDz7G1Qr6lg==", - "dev": true, - "dependencies": { - "lit": "^3.1.2" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globby": { - "version": "14.0.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", - "dev": true, - "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://mirrors.cloud.tencent.com/npm/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dev": true, - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/hash-sum": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/hash-sum/-/hash-sum-2.0.0.tgz", - "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", - "dev": true - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", - "dev": true, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-interactive/-/is-interactive-2.0.0.tgz", - "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unicode-supported": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", - "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/linkify-it": { - "version": "5.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", - "dev": true, - "dependencies": { - "uc.micro": "^2.0.0" - } - }, - "node_modules/lit": { - "version": "3.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/lit/-/lit-3.2.0.tgz", - "integrity": "sha512-s6tI33Lf6VpDu7u4YqsSX78D28bYQulM+VAzsGch4fx2H0eLZnJsUBsPWmGYSGoKDNbjtRv02rio1o+UdPVwvw==", - "dev": true, - "dependencies": { - "@lit/reactive-element": "^2.0.4", - "lit-element": "^4.1.0", - "lit-html": "^3.2.0" - } - }, - "node_modules/lit-element": { - "version": "4.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/lit-element/-/lit-element-4.1.0.tgz", - "integrity": "sha512-gSejRUQJuMQjV2Z59KAS/D4iElUhwKpIyJvZ9w+DIagIQjfJnhR20h2Q5ddpzXGS+fF0tMZ/xEYGMnKmaI/iww==", - "dev": true, - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0", - "@lit/reactive-element": "^2.0.4", - "lit-html": "^3.2.0" - } - }, - "node_modules/lit-html": { - "version": "3.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/lit-html/-/lit-html-3.2.0.tgz", - "integrity": "sha512-pwT/HwoxqI9FggTrYVarkBKFN9MlTUpLrDHubTmW4SrkL3kkqW5gxwbxMMUnbbRHBC0WTZnYHcjDSCM559VyfA==", - "dev": true, - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/log-symbols": { - "version": "6.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/log-symbols/-/log-symbols-6.0.0.tgz", - "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", - "dev": true, - "dependencies": { - "chalk": "^5.3.0", - "is-unicode-supported": "^1.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/magic-string": { - "version": "0.30.11", - "resolved": "https://mirrors.cloud.tencent.com/npm/magic-string/-/magic-string-0.30.11.tgz", - "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/markdown-it": { - "version": "14.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/markdown-it/-/markdown-it-14.1.0.tgz", - "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1", - "entities": "^4.4.0", - "linkify-it": "^5.0.0", - "mdurl": "^2.0.0", - "punycode.js": "^2.3.1", - "uc.micro": "^2.1.0" - }, - "bin": { - "markdown-it": "bin/markdown-it.mjs" - } - }, - "node_modules/markdown-it-anchor": { - "version": "9.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/markdown-it-anchor/-/markdown-it-anchor-9.0.1.tgz", - "integrity": "sha512-cBt7aAzmkfX8X7FqAe8EBryiKmToXgMQEEMqkXzWCm0toDtfDYIGboKeTKd8cpNJArJtutrf+977wFJTsvNGmQ==", - "dev": true, - "peerDependencies": { - "@types/markdown-it": "*", - "markdown-it": "*" - } - }, - "node_modules/markdown-it-emoji": { - "version": "3.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/markdown-it-emoji/-/markdown-it-emoji-3.0.0.tgz", - "integrity": "sha512-+rUD93bXHubA4arpEZO3q80so0qgoFJEKRkRbjKX8RTdca89v2kfyF+xR3i2sQTwql9tpPZPOQN5B+PunspXRg==", - "dev": true - }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/mdurl": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://mirrors.cloud.tencent.com/npm/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora": { - "version": "8.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/ora/-/ora-8.0.1.tgz", - "integrity": "sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ==", - "dev": true, - "dependencies": { - "chalk": "^5.3.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.9.2", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^2.0.0", - "log-symbols": "^6.0.0", - "stdin-discarder": "^0.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-ms": { - "version": "4.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "dev": true, - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/photoswipe": { - "version": "5.4.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/photoswipe/-/photoswipe-5.4.4.tgz", - "integrity": "sha512-WNFHoKrkZNnvFFhbHL93WDkW3ifwVOXSW3w1UuZZelSmgXpIGiZSNlZJq37rR8YejqME2rHs9EhH9ZvlvFH2NA==", - "dev": true, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pngjs": { - "version": "5.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://mirrors.cloud.tencent.com/npm/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-load-config": { - "version": "6.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "lilconfig": "^3.1.1" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "jiti": ">=1.21.0", - "postcss": ">=8.0.9", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/pretty-ms": { - "version": "9.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/pretty-ms/-/pretty-ms-9.1.0.tgz", - "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", - "dev": true, - "dependencies": { - "parse-ms": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/punycode.js": { - "version": "2.3.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/punycode.js/-/punycode.js-2.3.1.tgz", - "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode": { - "version": "1.5.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/qrcode/-/qrcode-1.5.4.tgz", - "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", - "dev": true, - "dependencies": { - "dijkstrajs": "^1.0.1", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/restore-cursor": { - "version": "4.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/restore-cursor/-/restore-cursor-4.0.0.tgz", - "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://mirrors.cloud.tencent.com/npm/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.20.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/rollup/-/rollup-4.20.0.tgz", - "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.20.0", - "@rollup/rollup-android-arm64": "4.20.0", - "@rollup/rollup-darwin-arm64": "4.20.0", - "@rollup/rollup-darwin-x64": "4.20.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", - "@rollup/rollup-linux-arm-musleabihf": "4.20.0", - "@rollup/rollup-linux-arm64-gnu": "4.20.0", - "@rollup/rollup-linux-arm64-musl": "4.20.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", - "@rollup/rollup-linux-riscv64-gnu": "4.20.0", - "@rollup/rollup-linux-s390x-gnu": "4.20.0", - "@rollup/rollup-linux-x64-gnu": "4.20.0", - "@rollup/rollup-linux-x64-musl": "4.20.0", - "@rollup/rollup-win32-arm64-msvc": "4.20.0", - "@rollup/rollup-win32-ia32-msvc": "4.20.0", - "@rollup/rollup-win32-x64-msvc": "4.20.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/sass": { - "version": "1.77.8", - "resolved": "https://mirrors.cloud.tencent.com/npm/sass/-/sass-1.77.8.tgz", - "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "dev": true - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shiki": { - "version": "1.13.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/shiki/-/shiki-1.13.0.tgz", - "integrity": "sha512-e0dWfnONbEv6xl7FJy3XIhsVHQ/65XHDZl92+6H9+4xWjfdo7pmkqG7Kg47KWtDiEtzM5Z+oEfb4vtRvoZ/X9w==", - "dev": true, - "dependencies": { - "@shikijs/core": "1.13.0", - "@types/hast": "^3.0.4" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://mirrors.cloud.tencent.com/npm/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sitemap": { - "version": "8.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/sitemap/-/sitemap-8.0.0.tgz", - "integrity": "sha512-+AbdxhM9kJsHtruUF39bwS/B0Fytw6Fr1o4ZAIAEqA6cke2xcoO2GleBw9Zw7nRzILVEgz7zBM5GiTJjie1G9A==", - "dev": true, - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=14.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "dev": true - }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stdin-discarder": { - "version": "0.2.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/stdin-discarder/-/stdin-discarder-0.2.2.tgz", - "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "4.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/strip-final-newline/-/strip-final-newline-4.0.0.tgz", - "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/uc.micro": { - "version": "2.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/uc.micro/-/uc.micro-2.1.0.tgz", - "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==", - "dev": true - }, - "node_modules/undici-types": { - "version": "6.18.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/undici-types/-/undici-types-6.18.2.tgz", - "integrity": "sha512-5ruQbENj95yDYJNS3TvcaxPMshV7aizdv/hWYjGIKoANWKjhWNBsr2YEuYZKodQulB1b8l7ILOuDQep3afowQQ==", - "dev": true - }, - "node_modules/unicorn-magic": { - "version": "0.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/unicorn-magic/-/unicorn-magic-0.1.0.tgz", - "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/upath": { - "version": "2.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/upath/-/upath-2.0.1.tgz", - "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/vite": { - "version": "5.3.5", - "resolved": "https://mirrors.cloud.tencent.com/npm/vite/-/vite-5.3.5.tgz", - "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==", - "dev": true, - "dependencies": { - "esbuild": "^0.21.3", - "postcss": "^8.4.39", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vue": { - "version": "3.4.37", - "resolved": "https://mirrors.cloud.tencent.com/npm/vue/-/vue-3.4.37.tgz", - "integrity": "sha512-3vXvNfkKTBsSJ7JP+LyR7GBuwQuckbWvuwAid3xbqK9ppsKt/DUvfqgZ48fgOLEfpy1IacL5f8QhUVl77RaI7A==", - "dev": true, - "dependencies": { - "@vue/compiler-dom": "3.4.37", - "@vue/compiler-sfc": "3.4.37", - "@vue/runtime-dom": "3.4.37", - "@vue/server-renderer": "3.4.37", - "@vue/shared": "3.4.37" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vue-router": { - "version": "4.4.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/vue-router/-/vue-router-4.4.3.tgz", - "integrity": "sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==", - "dev": true, - "dependencies": { - "@vue/devtools-api": "^6.6.3" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/vuepress": { - "version": "2.0.0-rc.14", - "resolved": "https://mirrors.cloud.tencent.com/npm/vuepress/-/vuepress-2.0.0-rc.14.tgz", - "integrity": "sha512-t902FYKFF2MavNQjm/I4gN8etl6iX4PETutu4c1Pt7qQjXF6Hp2eurZaW32O5/TaYWsbVG757FwKodRLj9GDng==", - "dev": true, - "dependencies": { - "@vuepress/cli": "2.0.0-rc.14", - "@vuepress/client": "2.0.0-rc.14", - "@vuepress/core": "2.0.0-rc.14", - "@vuepress/markdown": "2.0.0-rc.14", - "@vuepress/shared": "2.0.0-rc.14", - "@vuepress/utils": "2.0.0-rc.14", - "vue": "^3.4.29" - }, - "bin": { - "vuepress": "bin/vuepress.js", - "vuepress-vite": "bin/vuepress-vite.js", - "vuepress-webpack": "bin/vuepress-webpack.js" - }, - "engines": { - "node": ">=18.16.0" - }, - "peerDependencies": { - "@vuepress/bundler-vite": "2.0.0-rc.14", - "@vuepress/bundler-webpack": "2.0.0-rc.14", - "vue": "^3.4.0" - }, - "peerDependenciesMeta": { - "@vuepress/bundler-vite": { - "optional": true - }, - "@vuepress/bundler-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-components": { - "version": "2.0.0-rc.52", - "resolved": "https://mirrors.cloud.tencent.com/npm/vuepress-plugin-components/-/vuepress-plugin-components-2.0.0-rc.52.tgz", - "integrity": "sha512-mQRi0XzdUD025ewjBXlhlh948ReOcohMlBEdkxQVNZaLa5OM2mtZm8TJvN1MkSKeiTMZjtzARO1AJNGyhZWFpw==", - "dev": true, - "dependencies": { - "@stackblitz/sdk": "^1.11.0", - "@vuepress/helper": "2.0.0-rc.39", - "@vuepress/plugin-sass-palette": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "balloon-css": "^1.2.0", - "create-codepen": "^2.0.0", - "qrcode": "^1.5.3", - "vue": "^3.4.33", - "vuepress-shared": "2.0.0-rc.52" - }, - "engines": { - "node": ">=18.19.0", - "npm": ">=8", - "pnpm": ">=7", - "yarn": ">=2" - }, - "peerDependencies": { - "artplayer": "^5.0.0", - "dashjs": "4.7.4", - "hls.js": "^1.4.12", - "mpegts.js": "^1.7.3", - "sass-loader": "^14.0.0", - "vidstack": "^1.11.21", - "vuepress": "2.0.0-rc.14" - }, - "peerDependenciesMeta": { - "artplayer": { - "optional": true - }, - "dashjs": { - "optional": true - }, - "hls.js": { - "optional": true - }, - "mpegts.js": { - "optional": true - }, - "sass-loader": { - "optional": true - }, - "vidstack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-md-enhance": { - "version": "2.0.0-rc.52", - "resolved": "https://mirrors.cloud.tencent.com/npm/vuepress-plugin-md-enhance/-/vuepress-plugin-md-enhance-2.0.0-rc.52.tgz", - "integrity": "sha512-4lED2FSelBbtBVE5Hon9FQpCgmG1xQbi3+rFrj/Aa1VF+8PTjqFdG4NkdRTx94beOeu/A5jvWp5TFWMbaXD7hA==", - "dev": true, - "dependencies": { - "@mdit/plugin-alert": "^0.12.0", - "@mdit/plugin-align": "^0.12.0", - "@mdit/plugin-attrs": "^0.12.0", - "@mdit/plugin-container": "^0.12.0", - "@mdit/plugin-demo": "^0.12.0", - "@mdit/plugin-figure": "^0.12.0", - "@mdit/plugin-footnote": "^0.12.0", - "@mdit/plugin-img-lazyload": "^0.12.0", - "@mdit/plugin-img-mark": "^0.12.0", - "@mdit/plugin-img-size": "^0.12.0", - "@mdit/plugin-include": "^0.12.0", - "@mdit/plugin-katex-slim": "^0.12.0", - "@mdit/plugin-mark": "^0.12.0", - "@mdit/plugin-mathjax-slim": "^0.12.0", - "@mdit/plugin-plantuml": "^0.12.0", - "@mdit/plugin-spoiler": "^0.12.0", - "@mdit/plugin-stylize": "^0.12.0", - "@mdit/plugin-sub": "^0.12.0", - "@mdit/plugin-sup": "^0.12.0", - "@mdit/plugin-tab": "^0.12.0", - "@mdit/plugin-tasklist": "^0.12.0", - "@mdit/plugin-tex": "^0.12.0", - "@mdit/plugin-uml": "^0.12.0", - "@types/markdown-it": "^14.1.1", - "@vuepress/helper": "2.0.0-rc.39", - "@vuepress/plugin-sass-palette": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "balloon-css": "^1.2.0", - "js-yaml": "^4.1.0", - "vue": "^3.4.33", - "vuepress-shared": "2.0.0-rc.52" - }, - "engines": { - "node": ">=18.19.0", - "npm": ">=8", - "pnpm": ">=7", - "yarn": ">=2" - }, - "peerDependencies": { - "@types/reveal.js": "^5.0.0", - "@vue/repl": "^4.1.1", - "chart.js": "^4.0.0", - "echarts": "^5.0.0", - "flowchart.ts": "^2.0.0 || ^3.0.0", - "katex": "^0.16.0", - "kotlin-playground": "^1.23.0", - "markmap-lib": "^0.17.0", - "markmap-toolbar": "^0.17.0", - "markmap-view": "^0.17.0", - "mathjax-full": "^3.2.2", - "mermaid": "^10.8.0", - "reveal.js": "^5.0.0", - "sandpack-vue3": "^3.0.0", - "sass-loader": "^14.0.0", - "vuepress": "2.0.0-rc.14" - }, - "peerDependenciesMeta": { - "@types/reveal.js": { - "optional": true - }, - "@vue/repl": { - "optional": true - }, - "chart.js": { - "optional": true - }, - "echarts": { - "optional": true - }, - "flowchart.ts": { - "optional": true - }, - "katex": { - "optional": true - }, - "kotlin-playground": { - "optional": true - }, - "markmap-lib": { - "optional": true - }, - "markmap-toolbar": { - "optional": true - }, - "markmap-view": { - "optional": true - }, - "mathjax-full": { - "optional": true - }, - "mermaid": { - "optional": true - }, - "reveal.js": { - "optional": true - }, - "sandpack-vue3": { - "optional": true - }, - "sass-loader": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-md-enhance/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/vuepress-plugin-md-enhance/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/vuepress-shared": { - "version": "2.0.0-rc.52", - "resolved": "https://mirrors.cloud.tencent.com/npm/vuepress-shared/-/vuepress-shared-2.0.0-rc.52.tgz", - "integrity": "sha512-/Y5Qpl8ueqiggqFAyeJ9U2PhLyE7O5hl3r1k4vER/gKpaeYIqmPxf0ToJMFa3uc4luoNEe/9NJb6LJCrcPjFEA==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "cheerio": "1.0.0-rc.12", - "dayjs": "^1.11.12", - "execa": "^9.3.0", - "fflate": "^0.8.2", - "gray-matter": "^4.0.3", - "semver": "^7.6.3", - "vue": "^3.4.33" - }, - "engines": { - "node": ">=18.19.0", - "npm": ">=8", - "pnpm": ">=7", - "yarn": ">=2" - }, - "peerDependencies": { - "vuepress": "2.0.0-rc.14" - } - }, - "node_modules/vuepress-theme-hope": { - "version": "2.0.0-rc.52", - "resolved": "https://mirrors.cloud.tencent.com/npm/vuepress-theme-hope/-/vuepress-theme-hope-2.0.0-rc.52.tgz", - "integrity": "sha512-QCfIxIQCFOUpJsOUEPi1QtLPUbKjA0alvjb5JJPMGvHqqP2HHOtSuTdoODqy1qWPUg2/GBR/OLjfpqs14joP+w==", - "dev": true, - "dependencies": { - "@vuepress/helper": "2.0.0-rc.39", - "@vuepress/plugin-active-header-links": "2.0.0-rc.39", - "@vuepress/plugin-back-to-top": "2.0.0-rc.39", - "@vuepress/plugin-blog": "2.0.0-rc.39", - "@vuepress/plugin-catalog": "2.0.0-rc.39", - "@vuepress/plugin-comment": "2.0.0-rc.39", - "@vuepress/plugin-copy-code": "2.0.0-rc.39", - "@vuepress/plugin-copyright": "2.0.0-rc.39", - "@vuepress/plugin-git": "2.0.0-rc.38", - "@vuepress/plugin-links-check": "2.0.0-rc.39", - "@vuepress/plugin-notice": "2.0.0-rc.39", - "@vuepress/plugin-nprogress": "2.0.0-rc.39", - "@vuepress/plugin-photo-swipe": "2.0.0-rc.39", - "@vuepress/plugin-reading-time": "2.0.0-rc.39", - "@vuepress/plugin-rtl": "2.0.0-rc.39", - "@vuepress/plugin-sass-palette": "2.0.0-rc.39", - "@vuepress/plugin-seo": "2.0.0-rc.39", - "@vuepress/plugin-shiki": "2.0.0-rc.39", - "@vuepress/plugin-sitemap": "2.0.0-rc.39", - "@vuepress/plugin-theme-data": "2.0.0-rc.39", - "@vuepress/plugin-watermark": "2.0.0-rc.39", - "@vueuse/core": "^10.11.0", - "balloon-css": "^1.2.0", - "bcrypt-ts": "^5.0.2", - "cheerio": "1.0.0-rc.12", - "chokidar": "^3.6.0", - "gray-matter": "^4.0.3", - "vue": "^3.4.33", - "vuepress-plugin-components": "2.0.0-rc.52", - "vuepress-plugin-md-enhance": "2.0.0-rc.52", - "vuepress-shared": "2.0.0-rc.52" - }, - "engines": { - "node": ">=18.19.0", - "npm": ">=8", - "pnpm": ">=7", - "yarn": ">=2" - }, - "peerDependencies": { - "@vuepress/plugin-docsearch": "2.0.0-rc.39", - "@vuepress/plugin-feed": "2.0.0-rc.39", - "@vuepress/plugin-prismjs": "2.0.0-rc.39", - "@vuepress/plugin-pwa": "2.0.0-rc.39", - "@vuepress/plugin-redirect": "2.0.0-rc.39", - "@vuepress/plugin-search": "2.0.0-rc.39", - "nodejs-jieba": "^0.1.2", - "sass-loader": "^14.0.0", - "vuepress": "2.0.0-rc.14", - "vuepress-plugin-search-pro": "2.0.0-rc.52" - }, - "peerDependenciesMeta": { - "@vuepress/plugin-docsearch": { - "optional": true - }, - "@vuepress/plugin-feed": { - "optional": true - }, - "@vuepress/plugin-prismjs": { - "optional": true - }, - "@vuepress/plugin-pwa": { - "optional": true - }, - "@vuepress/plugin-redirect": { - "optional": true - }, - "@vuepress/plugin-search": { - "optional": true - }, - "nodejs-jieba": { - "optional": true - }, - "sass-loader": { - "optional": true - }, - "vuepress-plugin-search-pro": { - "optional": true - } - } - }, - "node_modules/watermark-js-plus": { - "version": "1.5.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/watermark-js-plus/-/watermark-js-plus-1.5.2.tgz", - "integrity": "sha512-iqgSeAfwnCKNpClmyjl7rhj0SEbt8j+MqZc6C3YKY5xjMdxlRMIOcnYdBYBiznzILVyJ6YbwxD5OMajK1D+uCA==", - "dev": true, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://mirrors.cloud.tencent.com/npm/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://mirrors.cloud.tencent.com/npm/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://mirrors.cloud.tencent.com/npm/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yoctocolors": { - "version": "2.1.1", - "resolved": "https://mirrors.cloud.tencent.com/npm/yoctocolors/-/yoctocolors-2.1.1.tgz", - "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/src/.vuepress/public/assets/icon/apple-icon-152.png b/src/.vuepress/public/assets/icon/apple-icon-152.png deleted file mode 100644 index 434fcc3..0000000 Binary files a/src/.vuepress/public/assets/icon/apple-icon-152.png and /dev/null differ diff --git a/src/.vuepress/public/assets/icon/chrome-192.png b/src/.vuepress/public/assets/icon/chrome-192.png deleted file mode 100644 index 6645f52..0000000 Binary files a/src/.vuepress/public/assets/icon/chrome-192.png and /dev/null differ diff --git a/src/.vuepress/public/assets/icon/chrome-512.png b/src/.vuepress/public/assets/icon/chrome-512.png deleted file mode 100644 index a146f00..0000000 Binary files a/src/.vuepress/public/assets/icon/chrome-512.png and /dev/null differ diff --git a/src/.vuepress/public/assets/icon/chrome-mask-192.png b/src/.vuepress/public/assets/icon/chrome-mask-192.png deleted file mode 100644 index 530977a..0000000 Binary files a/src/.vuepress/public/assets/icon/chrome-mask-192.png and /dev/null differ diff --git a/src/.vuepress/public/assets/icon/chrome-mask-512.png b/src/.vuepress/public/assets/icon/chrome-mask-512.png deleted file mode 100644 index a4f90ae..0000000 Binary files a/src/.vuepress/public/assets/icon/chrome-mask-512.png and /dev/null differ diff --git a/src/.vuepress/public/assets/icon/guide-maskable.png b/src/.vuepress/public/assets/icon/guide-maskable.png deleted file mode 100644 index 75449b6..0000000 Binary files a/src/.vuepress/public/assets/icon/guide-maskable.png and /dev/null differ diff --git a/src/.vuepress/public/assets/icon/ms-icon-144.png b/src/.vuepress/public/assets/icon/ms-icon-144.png deleted file mode 100644 index 2464124..0000000 Binary files a/src/.vuepress/public/assets/icon/ms-icon-144.png and /dev/null differ diff --git a/src/.vuepress/public/assets/image/advanced.svg b/src/.vuepress/public/assets/image/advanced.svg deleted file mode 100644 index c27ede5..0000000 --- a/src/.vuepress/public/assets/image/advanced.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/blog.svg b/src/.vuepress/public/assets/image/blog.svg deleted file mode 100644 index 00fc40d..0000000 --- a/src/.vuepress/public/assets/image/blog.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/box.svg b/src/.vuepress/public/assets/image/box.svg deleted file mode 100644 index 9e6408e..0000000 --- a/src/.vuepress/public/assets/image/box.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/features.svg b/src/.vuepress/public/assets/image/features.svg deleted file mode 100644 index 6d62739..0000000 --- a/src/.vuepress/public/assets/image/features.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/github-dark.svg b/src/.vuepress/public/assets/image/github-dark.svg deleted file mode 100644 index 37fa923..0000000 --- a/src/.vuepress/public/assets/image/github-dark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/github-light.svg b/src/.vuepress/public/assets/image/github-light.svg deleted file mode 100644 index d5e6491..0000000 --- a/src/.vuepress/public/assets/image/github-light.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/layout.svg b/src/.vuepress/public/assets/image/layout.svg deleted file mode 100644 index da754b5..0000000 --- a/src/.vuepress/public/assets/image/layout.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/markdown.svg b/src/.vuepress/public/assets/image/markdown.svg deleted file mode 100644 index 72056c9..0000000 --- a/src/.vuepress/public/assets/image/markdown.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/public/favicon.ico b/src/.vuepress/public/favicon.ico deleted file mode 100644 index b411f79..0000000 Binary files a/src/.vuepress/public/favicon.ico and /dev/null differ diff --git a/src/.vuepress/public/logo.png b/src/.vuepress/public/logo.png deleted file mode 100644 index ccd732e..0000000 Binary files a/src/.vuepress/public/logo.png and /dev/null differ diff --git a/src/.vuepress/public/logo.svg b/src/.vuepress/public/logo.svg deleted file mode 100644 index 364d184..0000000 --- a/src/.vuepress/public/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/.vuepress/styles/config.scss b/src/.vuepress/styles/config.scss deleted file mode 100644 index f91061d..0000000 --- a/src/.vuepress/styles/config.scss +++ /dev/null @@ -1,3 +0,0 @@ -// you can change config here -$colors: #c0392b, #d35400, #f39c12, #27ae60, #16a085, #2980b9, #8e44ad, #2c3e50, - #7f8c8d !default; diff --git a/src/.vuepress/styles/index.scss b/src/.vuepress/styles/index.scss deleted file mode 100644 index f6af387..0000000 --- a/src/.vuepress/styles/index.scss +++ /dev/null @@ -1 +0,0 @@ -// place your custom styles here diff --git a/src/.vuepress/styles/palette.scss b/src/.vuepress/styles/palette.scss deleted file mode 100644 index 356a428..0000000 --- a/src/.vuepress/styles/palette.scss +++ /dev/null @@ -1,2 +0,0 @@ -// you can change colors here -$theme-color: #096dd9; diff --git a/src/guides/index.md b/src/guides/index.md deleted file mode 100644 index cba8817..0000000 --- a/src/guides/index.md +++ /dev/null @@ -1,725 +0,0 @@ -# 常见应用 - -[[TOC]] -本篇为Github用户[foxhank](https://github.com/foxhank)编写,感谢!!! - -## 发布网站 - -> 提示 -> -> 这篇文档只涉及 **发布网站** 的教程,您需要有一个 **已经搭好**、**在内网可以访问** 的网站才能进行穿透 -> 常见的场景有发布博客或个人网站、外网访问路由器/NAS管理页面等。 -> -> 注意:若穿透的是路由器管理等服务,请 **一定设置一个强密码并更改默认用户名**,建议 **打开访问密码功能**,以减少安全问题。 - -### 1. 获得本地 IP、端口和协议 - -首先用浏览器在内网访问一下服务,然后查看地址栏。访问时显示的网址多半是这样的: - -```http -无自定义端口: - -http://<本地 IP>/ - -有自定义端口: - -http://<本地 IP>:<本地端口>/ -``` - -比如: - -```http -# 本地 IP: 127.0.0.1,端口80 -http://127.0.0.1/ - -# 本地 IP: 192.168.31.112,端口4000 -http://192.168.31.112:4000/index.html -``` - -可以把这行网址分为四部分: - -http://协议 192.168.31.112ip地址 :4000端口号 - -> 注:由于默认http端口号为80,所以当访问http://example.com 的时候,其实是在访问http://example.com:80。 - -### 2. 确定你需要的协议 - -我们提供三种 **隧道类型** 供您选择。您可以根据自身需求选择协议。 - -| 隧道类型 | 支持的协议 | 访问时带端口 | 使用自己的域名 | 举例 | -| -------- | ---------- | ------------ | -------------- | ----------------------------------- | -| TCP | http/https | **必须** | 可选 | http://xxx.openfrp.top:11451 | -| HTTP | http | 不需 | **必须** | http://example.com
example.com | -| HTTPS | https | 不需 | **必须** | https://example.com
example.com | - -> 题外话:域名+端口的方式可能会不利于搜索引擎的收录。所以如果你想映射博客的话,建议选http(s),还方便记忆。 - -### 3. 选择穿透节点 - -在创建节点一页有各节点支持的协议、详细介绍等等。根据需要创建隧道。 - -这里以香港-5节点,http隧道,域名example.com,本地端口80为例。 - -![创建隧道](./img/create.jpg) - -填入所有标星号的信息,隧道类型选择http,点击提交,提示"创建成功"并自动跳转到“管理隧道”。 - -### 4. 域名解析 - -转到“配置文件”一栏,下拉框选择创建隧道的节点,会出现配置详情。复制下方的“server_addr"值,以便稍后使用。 -![配置详情](./img/status.jpg) - -随后登录域名商的控制台。 - -> 由于各个注册商的用户界面差异较大,无法一一列举。如果实在是找不到可以上网搜索。 -> -> 这里以阿里云为例。 - -进入控制台,搜索“域名”字样并进入。 - -![控制台](./img/console.jpg) - -随后点击“解析”进入解析管理 - -![解析](./img/list.jpg) - -选择“添加解析”,**记录类型**选择CNAME,**主机记录**填写@¹,记录值填写上文的“server_addr"值,随后确认即可。 - -![添加解析](./img/add.jpg) - -¹:可根据喜好选择域名前缀。比如 - -| 主机记录 | 实际网址 | -| ---------------- | ---------------- | -| @ | example.com | -| www | www.example.com | -| (任何字母)如blog | blog.example.com | - -注意:主机记录需与创建隧道时填写的域名一致:比如主机记录为@,则域名为example.com,那么上文创建隧道时填写的域名也应为example.com - - - -等待域名解析生效即可用域名的形式连接。根据各服务商的不同,生效时间大概在10秒钟--10小时不等。 - - - -### 5. 启动隧道 - -启动隧道。若一切正常您就可以通过example.com的形式来访问网站。 - -![启动隧道](./img/start.jpg) - ----- - -### 常见问题 - -#### 1.已经建好,但提示“503 Service Unavailable” - -1. 请检查创建隧道时,填写的域名是否与访问域名一致。 - - 请注意:www.example.com与 example.com是两个网站 - - 同样的,a.example.com与b.example.com也是两个网站 - -2. 请检查FRP客户端是否有报错 - - 可能由于网络原因,导致客户端与服务器断开连接。一般稍等或手动重启隧道即可解决。 - -3. 可能节点正在遭受攻击,请通过 [状态监控](https://kuma.openfrp.net/status/of)查看所选节点健康状态,或尝试更换节点。 - -4. 域名解析到的节点是否和隧道所在的节点相同? - - 请注意:DNS 解析修改后并不是立即生效的,解析结果缓存时长从 10 分钟到一星期不等,请等待解析生效后再试。 - - Windows可通过以下命令查看dns解析地址 - - ```bat - nslookup <你的域名> - - # 例如 - nslookup www.example.com - ``` - - ![DNS查询](./img/nslookup.jpg) - -“名称”需为xx.openfrp.top才代表解析同步成功��� - -5. 本地的 Web 服务是否成功启动?隧道映射的本地 IP 和端口号是否正确? - -- 是否能在 **运行 frpc 的电脑** 通过 **本地 IP** 和 **本地端口** 访问您的网站? -- frpc 有没有显示 `无法连接到本地服务` 等错误? - -6. 客户端是否成功启动并出现 `start proxy success` 字样? - -- 在 Windows 上最好使用启动器管理隧道,Linux最好通过docker部署。 - -7. (HTTPS 隧道)是否正确创建?访问的时候有没有输入完整的 `https://` 前缀? - -- 只创建 HTTPS 隧道会导致使用 HTTP 协议访问时出现 503 错误 - -#### 2. 提示“connection timed out“ - -可能是节点挂了,请等待或更换节点。 - - -## 远程桌面 - -### Windows 远程桌面(RDP) - -#### 0. 安全提醒 - -映射远程桌面通常会带来出人意料的风险,因为巨硬的漏洞总是很多。 - -如果您需要映射远程桌面,我们强烈建议您启用 Windows Update 来避免批量 0day 漏洞利用使得您的电脑遭到攻击,并设置一个账户强密码。 - -虽然windows的系统更新安起来确实费劲,它可以帮助你免受病毒的侵袭。 - -#### 0.1 设置账户密码 - -由于安全原因,windows不允许没有密码的账户进行远程连接。所以,**被连接端**需要设置一个账户密码。 - -##### 0.1.1 Windows 7设置密码 - -![点击头像](./img/RDP/win7-1.jpg) - -点击“开始”按钮,并点击右上角的头像,进入“用户账户” - -![创建密码](./img/RDP/2.jpg) - -点击“为您的账户创建密码“ - -![输入密码](./img/RDP/3.jpg) - -输入两遍密码,点击"创建密码",密码即设置成功 - -注意:密码提示不建议设置,若设置,请写一段只有你和用电脑的人知道的提示词,不要把密码放在密码提示中! - - - -##### 0.1.2 Windows 10设置密码 - -![](./img/RDP/4.jpg) - -点击“开始”按钮,随后点击头像,点击“更改账户设置进入用户账户页面。 - -![设置密码](./img/RDP/5.jpg) - -选择“登录选项”,随后在密码一栏中点“添加” - -输入两遍密码,即可创建。 - -#### 1. 打开远程桌面功能 - -请注意:从Windows7开始,家庭版系统不支持远程桌面功能。您可以通过以下方式判断: - -右键“我的电脑”,点击属性,查看右侧显示版本名称。 - -![image-20230626112520494](./img/RDP/6.jpg) - -若显示“家庭版”则无法使用。建议升级为专业版,或在网上寻找补丁打开远程桌面功能。**使用补丁可能具有安全风险,请自行甄别** - -若您的电脑支持此功能,点击左侧的“远程设置”,随后界面点击"允许远程连接到此计算机"并点击确认 - -**注意:远程协助和远程连接是两个不同的功能** - - - - - -![image-20230626112917517](./img/RDP/7.jpg) - - - -随后打开启动器,**创建一个本地端口3389的隧道**,并启动隧道。 - -![image-20230626113758469](./img/RDP/8.jpg) - -至此,被控端的配置便全部完成。 - -#### 2.连接电脑 - -![image-20230626114723795](./img/RDP/9.jpg)开始菜单-点开“windows附件”文件夹-打开“远程桌面连接” - -![image-20230626114841264](./img/RDP/10.jpg) - -输入对方隧道网址,点击链接 - - - -若一切正常,接下来会让你输入用户密码,**输入对方电脑的用户名和密码**,点击确定 - -![image-20230626115109232](./img/RDP/11.jpg) - -由于电脑使用的是自签证书,会弹出安全提醒,点击“是”即可 - -![image-20230626115244484](./img/RDP/12.jpg) - -稍等片刻即可连接。此时已经可以使用了。 - -#### 3. 可选:启用UDP连接 - -![image-20230626115539253](./img/RDP/13.jpg) - -这时你会发现,上面的信号栏只有两格信号,质量为良好。虽然也能用,但看着总归不舒服。 - -解决方法:![image-20230626120252501](./img/RDP/14.jpg) - -创建一个 **相同远程端口,UDP模式**的隧道。随后将两个隧道全开启。 - -![image-20230626120440770](./img/RDP/15.jpg) - -随后重启远程连接,可以发现提示“已启用UDP”,并且“良好”升级为“非常好 - -![image-20230626121153826](./img/RDP/16.jpg) - -## Linux 远程桌面(VNC) - -不同于Windows自带的RDP,linux系统一般使用开源的VNC进行远程桌面连接。 -> 演示环境: -> -> 被控端:Deepin 20.5,Linux内核5.1.101 -> OpenFRP V0.48.1 , - -### 1. 安装x11 VNC(若系统自带VNC可跳过) -```bash -sudo apt update -sudo apt install x11vnc -y -``` - -![安装vnc](./img/vnc/x11vnc.gif) - - - -#### 1.1 设置VNC密码(重要) - -只要拥有域名和端口号的人都能通过vnc访问你的设备,所以设置一个密码十分重要 - -```bash -sudo x11vnc -storepasswd /etc/x11vnc.pass -``` - -![设置一个一个一个密码](./img/vnc/setpwd.png) - -输入两遍密码,会提示你确认一遍路径,输y即可 - -#### 1.2 配置开机自启 - -通过systemd控制服务开机自启 - -```bash -sudo vim /etc/systemd/system/x11vnc.service -``` - -随后按Insert进入输入模式,将配置复制进去后输入`:wq`保存并退出 - -```ini -[Unit] - -Description=Start x11vnc at startup. - -After=multi-user.target - -[Service] - -Type=simple - -#ExecStart=/usr/bin/x11vnc -forever -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared - -ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared - -[Install] - -WantedBy=multi-user.target -``` - -![](./img/vnc/vncservice.gif) - - - -随后systemctl三连击 - -开机自启`systemctl enable x11vnc` - -启动服务`systemctl start x11vnc` - -查看状态`systemctl status x11vnc` - -![启动服务](./img/vnc/start.png) - -若输出中“Active”为“active(running)”则为启动成功,可以看到`PORT=5900` ,意味着服务正运行在5900默认端口上。 - -### 2. 创建隧道 - -新建一个本地端口为5900的隧道,其余保持默认即可,点击提交 - -![创建隧道](./img/vnc/create.png) - -随后转到“隧道管理”,选择刚创建隧道的节点,将配置文件复制下来 - -![配置文件](./img/vnc/cut.png) - -### 3. 安装及配置FRP服务 - -由于Linux版本的frpc没有控制面板,所以需自行配置`frpc.ini`文件。 - -先按照CPU架构下载[Linux版本的FRPC客户端](https://console.openfrp.net/home/download),大部分是x86架构的系统,选择amd64即可。 - -下载后,将文件解压缩,重命名为`frpc`,并在同目录下创建一个名为`frpc.ini`的配置文件,如图所示 - -![](./img/vnc/frp.png) - -打开frpc.ini,将刚才复制的配置文件内容复制进去,保存并退出。 - -随后右键空白处,选择“在终端中打开“ - -输入命令启动隧道 - -```bash -nohup ./frpc -c ./frpc.ini & -``` - -会提示“忽略输入并把输出追加到”nohup.out“文件中,可通过 - -```bash -vi ./nohup.out -``` - -查看运行日志。若启动正常,会提示“隧道启动成功”,且提供一段网址,可通过此网址使用VNC客户端进行连接。 - -![运行](./img/vnc/run.gif) - - - - - -## 群晖 NAS 远程管理 - -群晖虽然自带一个quickconnect远程管理服务,但黑群晖(盗版系统)用户是用不了的。况且由于群晖的服务器在台湾省,数据一来一回,延迟也高的要命。 - - -> 演示环境:黑群晖 DSM 6.1.7 15284,,OpenFRP Docker端v0.48.0 -> - - -### 1. 确认端口号 - -局域网进入群晖后台,进入“控制面板”,选择“网络”并切换到“DSM设置”栏,可以看到端口号,默认为5000(http)和5001(https) - -![端口号](./img/syno/port.jpg) - -### 2. 创建隧道 - -在控制台创建一个本地地址为172.17.0.1,本地端口为5000的TCP隧道![](./img/syno/tunnel.jpg) - -随后转到“隧道管理”,记下隧道的ID - -![image-20230628153524963](./img/syno/id.jpg)再去“首页”复制下你的访问秘钥 - -![image-20230628153716871](./img/syno/key.jpg) - -注意:请勿将访问秘钥告知任何人,OpenFRP官方不会索取您的访问秘钥,若在交流群里问问题,发送截图前请注意遮挡访问秘钥。若不慎泄露,可去个人中心-重置秘钥 进行秘钥重置 - - - -### 3. 使用docker安装OpenFRP - -打开套件中心,左上角搜索栏输入“docker”,并点击安装套件。 - -![安装](./img/syno/dc-install.jpg) - -安装完成后点击打开。 - -由于Docker Hub在国内无法访问,所以选择“注册表”会提示“查询注册表失败”。 - -![](img/syno/dc-1.jpg) - -但可以使用docker pull命令下载镜像。 - -#### 3.1 打开ssh功能 - -打开控制面板,拉到最下面选择“终端机和SNMP”,勾选“启用ssh功能”并应用。 - -![启用ssh](./img/syno/ssh-enable.jpg) - - - -随后Win+R,输入`cmd`,进入命令提示符,输入`ssh (用户名)@(群晖ip)`进行连接。 - -> 若提示'ssh' 不是内部或外部命令,也不是可运行的程序或批处理文件,说明你的电脑不自带ssh工具,请自行百度搜索“ssh连接群晖”安装工具并进行连接。此处不再赘述。 - - - -#### 3.2 创建容器 - -输入 - -```bash -sudo docker run -d --name of openfrp/frpc:latest -u (你的访问秘钥) -p (你的隧道ID) -``` - -将用小括号括起来的字段换成你自己的内容。 - -比如:`sudo docker run -d --name of openfrp/frpc:latest -u 1145141919810 -p 114514` - -若创建多个隧道,可输入 - -```bash -sudo docker run -d --name of openfrp/frpc:latest -u (你的访问秘钥) -p (你的隧道id)[,(隧道id2),(隧道id3)] -``` - -比如 : `sudo docker run -d --name of openfrp/frpc:latest -u 1145141919810 -p 114514 [,114515 , 114516]` - -稍等一会,等显示一串字符就表示开启成功。 - -![image-20230628155151092](./img/syno/success.jpg) - -### 4. 查看网址 - -输入 - -```bash -sudo docker logs of -``` - -查看容器日志。 - -![](./img/syno/log.jpg) - -使用提供的网址,即可进入群晖管理页。 - -### 5. 管理容器 - -群晖自带有一个可视化docker管理页面,不用每次都连接输命令。 - -网页控制台中,打开“docker”,选择“容器”找到名叫“of”的容器,即可方便控制开启或关闭 - -![](./img/syno/manage.jpg) - -同时,您还可以双击进入容器,点击“日志”栏查看详细日志 - -![](./img/syno/logs.jpg) - - - -## 远程唤醒 - -> 远程唤醒技术(WOL,Wake-on-LAN)是由网卡配合其他软硬件,通过给处于[待机状态](https://baike.baidu.com/item/待机状态/8552519?fromModule=lemma_inlink)的网卡发送特定的数据帧,实现电脑从停机状态启动的一种技术。 -> -> --摘自百度百科 - -简单地说,网络唤醒就像在家里局域网大喇叭UDP广播电脑的名字MAC地址,就会把对应电脑叫醒。那么,要想在外面也能叫醒电脑,只要安一个远程喇叭就行了。 - -硬件方面需要网卡支持网络唤醒,不过现在百分之95的网卡都带这个功能,我一个09年的百兆垃圾网卡都支持这个功能 - -那么,理论成立,实践开始! - - - -### 1. 创建内网穿透隧道 - -进入创建隧道栏,随便选一个节点,隧道名称随便填,本地端口选9,隧道类型选 UDP 本机地址填255.255.255.255 剩下的不用管,可以选“随机远程端口”或者输一个喜欢的数字,点提交 - -![image-20230614202137433](https://s2.loli.net/2023/06/14/TkhC5sEK7Gl6Ao4.png) - - - -创建完后会自动跳到隧道列表栏,记下隧道ID,等会要用 - -![image-20230614201410965](https://s2.loli.net/2023/06/14/iNAcgbTs2uzF1Er.png) - -### 2. 服务器端部署FRPC - -我的NAS使用的是黑群晖DSM6.1.7版本,本质上是个魔改的Debian系统,所以可以用Linux的程序 - -为了方便调试,我使用docker运行,当然也可以使用其它方案,大同小异。 - -OpenFrp提供了一个官方的docker镜像,可以通过访问秘钥+隧道ID连接。 - -安装docker,打开SSH访问等步骤不再赘述,由于Docker Hub在国内无法正常访问,但能拉取镜像,所以这里采用ssh安装的方法 - -首先SSH连上要部署的服务器,输入 - - -```bash -sudo docker run -d --name OpenFRP openfrp/frpc:latest -u (你的访问秘钥) -p (隧道ID) -``` - - -比如:` docker run -d --name OpenFRP openfrp/frpc:latest -u b7b***1c9 -p 1****0` - -安装速度取决于网速 - -![image-20230614204200951](https://s2.loli.net/2023/06/14/4MQhJ5BqljZawxT.png) - -等一会后会显示一串字符,这就代表安装成功 - -### 3. 被控电脑打开远程开机功能 - -#### 3.1 Windows - -网络和Internet设置-更改适配器选项,各Windows版本不同,总之要进入网络连接控制里 - -![image-20230614204837169](https://s2.loli.net/2023/06/14/nEqQeNpiXg5zIjZ.png) - -右键网卡,选择“属性”,依次选“配置”-“高级”-”魔术封包唤醒“,更改为“开启” - -ps:如果你电脑的网卡找不到以上选项,就找那种包含“唤醒(wake up)”文字的属性,然后全部设置成开启就是 - -![image-20230614205207917](https://s2.loli.net/2023/06/14/NaP9CROvWfHlXDZ.png) - -随后切换到电源管理,把“允许此设备唤醒计算机”打开 - -![控制面板设置](https://s2.loli.net/2023/06/14/GZSNOVrybaEn2vl.png) - -至此,系统部分配置完毕,接下来要进BIOS里调整了。 - -#### 4.修改BIOS设置 -由于各个品牌进入BIOS的方法不同,建议百度搜索“电脑品牌+BIOS”,有详细的方法,一般是开机狂按某个键或者按机箱/笔记本侧边的特定按钮。 -进入BIOS后,按箭头键切换到“高级”一栏(或:电源管理),选择“PCI设置”,将‘Power On By PCIE/Onboard Lan’打开,(或者叫网络唤醒之类的名字) -将其切换为enable后 按F10保存并退出。 -![BIOS设置](https://s2.loli.net/2023/06/16/SAZoqWcX6LrJvDw.jpg) - -#### 5.发送唤醒包 - -##### 5.1 Windows端 -首先要下载一个wol的程序。不大,是个命令行程序,方便一键执行 -[WOLCMD网站][1] -[下载][2] -下载是一个压缩包,打开后选择解压到C:\根目录里,方便调用命令行,或者可以修改成一个自己熟悉的文件夹,不过下面的命令就需要修改 -![解压缩](https://s2.loli.net/2023/06/17/JQwlde1M7pWVaqU.png) -之后Windows+R组合键,输入CMD,打开命令行,输入 - -```bash -cd /d C:\ -wolcmd (网卡MAC地址) (frp服务器地址)255.255.255.0 (隧道端口) - -``` -比如 -`wolcmd b8975a4d6e5b cn-hk-bgp-5.openfrp.top 255.255.255.0 11451` -如果一切顺利,会提示“唤醒信号已发送至设备”,并显示frp服务器的ip地址和端口 -![发送成功](https://s2.loli.net/2023/06/17/ipEqyG3rM87gKAP.png) - -如果不清楚如何获取mac地址,可以看下面的5.1.1 - - -###### 5.1.1被唤醒电脑获取网卡MAC地址 -Windows+R组合键,输入CMD,打开命令行,输入命令 - - `ipconfig /all` - -会输出一大堆东西,找到名字叫以太网(有线连接)或者叫无线网络适配器(wifi连接)的,这就是此网卡的MAC地址 -![MAC地址获取](https://s2.loli.net/2023/06/17/BgqznQpy13jE4DR.png) - -###### 5.1.2 通过bat批处理实现一键开机 -新建一个文本文件,把上面的唤醒命令全部复制进去 -![bat文件内容](https://s2.loli.net/2023/06/17/g5YcHWjtqapnkrU.png) -随后重命名文件,将后缀修改为.bat -![修改后缀](https://s2.loli.net/2023/06/17/wJKq9YGaIDo4hni.png) -修改完后就可以通过点击这个文件进行一键唤醒 - -##### 5.2 安卓安装唤醒程序 - -可以去各大应用商店搜索关键词“Wake On LAN”,比如谷歌商店就有 -或者下载这个安装包 -https://cowtransfer.com/s/3a06bd6050a64c -提取码bjtym5 - -右下角+号-左上角手动输入 -![创建](https://s2.loli.net/2023/06/17/qzdEf2kAVDmwMrp.gif) -输入你的信息即可,如图 -![输入信息](https://s2.loli.net/2023/06/17/rk8JG7KwQvPXSml.jpg) -随后保存,返回到主页,点击条目即可发送唤醒信息 - -##### 5.3 微信小程序唤醒 -有很多支持网络唤醒的小程序,只要填入信息也可以做到远程唤醒。 -具体可微信小程序搜索“网络唤醒”,都有详细的使用方法 -![小程序](https://s2.loli.net/2023/06/17/PAhkGXsQT5cbmaN.jpg) - -##### 常见问题: -1.无法唤醒? -- 请留意电脑关机后,路由器端网卡指示灯是否还亮着,否则可能是网卡断电,需要去BIOS的电源管理里设置 -- 电脑最后一次关机是否为正常关机(点击关机键关机),意外断电无法使用wol唤醒 -- 台式电脑是否关闭过总电源?断电会造成存储的信息丢失,需要重新开机后关机才能使用 - -2.网卡设置中没有唤醒选项? -可以尝试升级网卡驱动,部分非常非常古老的网卡可能没有这个功能,那也无能为力 - -[1]: https://www.depicus.com/wake-on-lan/wake-on-lan-cmd -[2]: https://www.depicus.com/downloads/wolcmd.zip - -## 部署 MCSManager 管理面板 -### 0.1 前言 - -> 使用 MCSManager 管理面板需要一定的基础知识(例如启动命令),下载 MCSManager 面板请前往[ MCSManager 的官网](https://mcsmanager.com/)下载。 - -使用 MCSManager 面板即代表您默认同意承担**节点掉线导致的无法访问服务器后台**的风险! - -使用 MCSManager 时,请设置一个高强度的密码,避免密码被暴力破解,也请不要使用诸如 **12341234**、**12345678**、**abc123456** 等低强度的密码! - -### 0.2 系统环境 - -教程将以 **Windows Server 2012 R2 系统**,**MCSManager 10** 做示范,其它版本的操作系统可能有差异。 - -请确保在运行 MCSManager 时,您的账户为 Administrator 或具有管理员权限的账户! - -### 1.1 启动 MCSManager 面板 - -当您下载并解压完毕 MCSManager 面板之后,您将会看到如下界面: - -![MCSMinstalled](https://s3.bmp.ovh/imgs/2024/06/09/2f951f7bdf07b080.png) - -双击 `start.bat`,启动 MCSManager 面板。成功启动后,您应该会看到两个 `node_app` 的窗口,这两个窗口是 MCSManager 的主窗口,无须担心。 - -![MCSMnodeapp](https://s3.bmp.ovh/imgs/2024/06/09/21a6c86b2f66cb02.png) - -稍等一会后,您的默认浏览器应该会自动打开 `localhost:23333/#/install` 这个网站。在此处,`localhost` 指的就是 `127.0.0.1`,把它记住,等会还要用。 - -此时,您可以按照 MCSManager 的提示一步步操作,部署自己的 Minecraft(或其它游戏)的服务器。 - -### 1.2 设置 - -![MCSMsettings](https://s3.bmp.ovh/imgs/2024/06/09/f3784204bde8ed12.png) - -在默认情况下,您的面板端口默认是 `23333`,这个端口即是一会要穿透出去的端口。您也可以自定义一个五位数端口,例如 `11451`、`54188` 等端口。 - -启动 OpenFrp 软件,创建一个隧道,将本地地址设置为 `127.0.0.1`,端口设置为 `23333`(即刚才的面板端口)。名字可以起一个自己好记的端口,方便自己,也方便运维(如果您的服务器拥有管理团队)。 - -以 `#15 驻马店移动`节点为例,设置应该如下图一般: - -![MCSMtoFrp](https://s3.bmp.ovh/imgs/2024/06/09/01d4350bb2549389.png) - -创建完毕后,您可以直接开启并访问这个地址。注意,您必须使用 IP 地址访问(即 `xxx.xxx.xxx.xxx:xxxxx`),否则您将无法访问面板。 - -### 2 远端服务器配置 - -如果所有的设置都正确,您应该可以看到如下界面: - -![REMOTE](https://s3.bmp.ovh/imgs/2024/06/09/2e8aa8a6548c3278.png) - -恭喜您!您已经完成了基础配置! - -接下来,我们将要进行远程服务器配置。首先,请牢记每一个 MCSManager 默认面板节点端口默认都是 `24444`,这个端口很重要!请记住! - -在 OpenFrp 中,创建一个本地地址为 `127.0.0.1`、本地端口为 `24444` 的节点。设置如图: - -![remotepointsets](https://s3.bmp.ovh/imgs/2024/06/09/e905dc863dbd9471.png) - -创建隧道,开启隧道。 - -在日志中,找到对应的 IP 地址,复制它。 - -![checklog](https://s3.bmp.ovh/imgs/2024/06/09/714540ceac4a8ada.png) - -在 MCSManager 面板中,找到`应用实例`,点击右侧的`选择远程节点`,点击`配置远程节点`,点击`新增节点`。配置如下图: - -![mcsmlast](https://s3.bmp.ovh/imgs/2024/06/09/dd60f2e5cf7d2d7e.png) - -点击`确定`,即可完成最后一步的配置。此时您应该能看到刚刚添加的节点了。 - -## 更多... - -欢迎各位大佬投稿,发布各种各样的应用教程! -但是要自行添加对应教程的侧边导航。 - -您可以在[Github上发布pull request](https://github.com/ZGIT-Network/OpenFrp-Docs),我们看到了会及时处理。 - diff --git a/src/problems/index.md b/src/problems/index.md deleted file mode 100644 index 954fb51..0000000 --- a/src/problems/index.md +++ /dev/null @@ -1,254 +0,0 @@ -# 常见问题 - -[[TOC]] - -## 客户端报错 -> **我们推荐使用 简易启动 功能或者图形客户端(OpenFrp Launcher)启动您的隧道,可以避免 下表 大部分问题。** - -请查看日志,下表为常见报错及解决办法 -| 英文 | 中文 | 备注 | -| --- | --- | --- | -| Your `XXX` proxy is available now. Use [`YYY`] to connect. | `XXX` 类型隧道启动成功 使用 [`YYY`] 来连接到你的隧道 | 隧道启动成功,一切正常 | -| Recover success: [`XXX`] | 不断线重连成功: [`XXX`] | 网络波动,一般可以忽略或更换节点 | -| recover to server timed out | 不断线重连失败 | 网络波动,frpc 会自动尝试另外一种重连方式,一般可以忽略或更换节点 | -| Connection recover failed: `XXX` | 不断线重连失败: `XXX` | 网络波动,frpc 会自动尝试另外一种重连方式,一般可以忽略或更换节点 | -| read from control connection EOF | 控制连接读取失败 (EOF), 可能是网络不稳定 | 网络波动,一般可以忽略或者更换节点 | -| write message to control connection error: `XXX` | 控制连接写入失败, 可能是网络不稳定: `XXX` | 网络波动,一般可以忽略或者更换节点 | -| login to server failed: `XXX` | 登录节点失败, 请检查网络连接: `XXX` | [点此查看详细说明](#登录节点失败-请检查网络连接) | -| connect to local service [`XXX`] error: `YYY` | 连接映射目标 [`XXX`] 失败, 请检查本地服务是否打开: `YYY` | [点此查看详细说明](#无法连接到本地服务) | -| proxy conflict | *隧道冲突* | 该问题是由于隧道重复开启造成的,请查找 **所有设备** 上的 frpc 进程并关闭重复开启的隧道。如果此问题持续存在,请尝试重置访问密钥 | -| multi-instance racing, this one failed | *多实例竞争* | 该问题是 frpc 重复开启且生成了相同的 RunID,在 frps 上争抢同一个隧道造成的。请在 **当前设备** 上查找所有存在冲突的 frpc 进程并关闭,或检查 supervisor 配置是否有误 | -| port already used | *服务端端口被占用* | 换一个远程端口 | -| i/o deadline reached | I/O繁忙 | 节点可能过载,建议换一个节点 | -| router config conflict | *URL 路由冲突* | [点此查看详细说明](#url-路由冲突) | -| Request failed: `XXX` `YYY` | *API 请求失败* | [点此查看详细说明](#api-请求失败) | -| reconnect to server error: dial tcp 'XXX ': connect: connection refused |重连失败:服务器拒绝连接|可能是你选择的节点正在遭受攻击。[请查看节点状态](https://kuma.openfrp.net/),等待恢复或换一个节点。| -| Get "xxx": tls: failed to verify certificate: x509: certificate signed by unknown authority | 证书验证失败 | [点此查看详细说明](#api-请求失败) | - -### 登录节点失败, 请检查网络连接 - -1. 请运行 PING 命令测试节点连通性 (Windows) - - ```bash - ping <节点域名> - - # 例如 - ping cn-shanghai.openfrp.top - ``` - -1. 请查看 [节点状态](https://kuma.openfrp.net/) 页面对应节点是否在线 - -| 节点在线 | PING 测试 | 可能原因 | 解决方案 | -| :------: | :-------: | ------------------------------------------ | ----------------- | -| ✘ | ✘ | 节点被攻击或故障 | 换节点 / 等待恢复 | -| ✔ | ✘ | 网络故障 | 换节点 / 换网络 | -| ✔ | ✘ | 节点被 GFW 屏蔽了 | 换节点 | -| ✔ | ✔ | 上游防火墙拦截 FRP 协议或 7000 / 7001 端口 | 换网络 / 找别家 | -| ✔ | ✔ | 公司 / 学校网络管理员不允许使用 frp协议 | 不建议继续使用 | - -### URL 路由冲突 - -| 原因 | 解决方案 | -| -------------------------------- | ------------------------------------------------------------ | -| 创建隧道时填写的域名有误 | 填写正确的域名 | -| 服务端路由未释放 | 和 [端口被占用](#服务端端口被占用) 类似,解决方案也相同 | -| **高级设置** 中 URL 路由配置错误 | 您是高级用户,请自行寻找解决方案
如果是不小心填写的,请删掉相关配置项 | - -### 服务端端口被占用 - -| 原因 | 解决方案 | -| ------------------ | ------------------------------------------------------------ | -| 隧道刚刚被关闭 | 启动器: **关闭隧道**
FRPC: **退出 FRPC**
等待 **一分钟** 后重新开启 | -| 存在 FRPC 进程残留 | 启动器: 右键点击托盘图标, **彻底退出** 后重新打开启动器
frpc: 打开 **任务管理器** 查找并 **关闭** 残留的 FRPC 进程 | -| 重复开启隧道 | 一条隧道同一时间只能在一个地方开启
请 **关闭重复开启的隧道** 并 **创建不同端口的隧道** 使用 | - -### 无法连接到本地服务 - -此日志说明 **FRPC 工作正常**,但是 FRPC 无法连接到您的本地服务。 - -| 原因 | 解决方案 | -| ------------------------------------------------------------ | ------------------------------------------------------------ | -| 本地服务 (例如 Minecraft 服务器,HTTP 服务器) 没有启动或启动失败 | 检查并启动本地服务 | -| 本地服务配置有误,没有监听 frpc 连接的本地 IP | 正确配置本地服务或修改隧道设置 | -| **本地端口** 或 **本地 IP** 填写错误 | 编辑隧道,参考文档 **填写正确的信息** 然后 **重启 frpc** | -| **本地 IP** 发生了变化 | 重新检查本地地址,然后编辑隧道 **填写正确的本地 IP** 并 **重启 FRPC** | -| 防火墙、杀毒软件拦截 FRPC 请求本地服务 | 添加白名单规则到防火墙、杀毒软件中。
不建议彻底关闭防火墙 | - -注:若您使用docker方式部署服务,提示**无法连接到本地服务**,请检查容器使用的网络模式是否正确。 -docker常见网络环境有“bridge”(默认)、”host“和”macvlan“三种模式。可使用以下代码查看OpenFRP容器的网络模式。 - -```bash -docker inspect (您的容器名称) | grep NetworkMode -``` - -比如:如您的容器名称为OpenFRP(注意大小写),您应该输入 `docker inspect Openfrp | grep NetworkMode` - -- 若输出为:`"NetworkMode": "host", ` - - 则应在创建隧道时设置“本地地址”为127.0.0.1 - -- 若输出为:`"NetworkMode": "bridge",` - - 则应在创建隧道时设置“本地地址”为宿主机 `Docker0接口` (一般为172.17.0.1) - - - -### API 请求失败 - -请优先检查 API 连接性问题: - -- 检查 SSL 问题 (一般不存在) - - Windows 系统请使用 **Edge 等现代浏览器** 访问 `http://of-dev-api.bfsea.xyz/` 查看是否出现安全警告,如果出现请安装系统更新或者手动安装根证书 - - Linux 系统可以使用 `tcping http://of-dev-api.bfsea.xyz/` 检查是否存在证书错误,如果出现证书错误可以尝试安装 (或更新) `ca-certificates` 包, 若仍无效且使用 Termux 请尝试手动安装根证书或使用配置文件启动 -- 检查防火墙、杀毒软件是否拦截了 FRPC 的请求 -- 检查宽带是否存在到期未续费等情况,电脑能否正常 **打开网站**(例如 Bing) - -如果还是没有什么头绪,可以查看 [外部状态监控](https://kuma.openfrp.net/) 中 API 是否正常在线 (**Online**),如果不在线请联系管理员。 - - - - - -## 启动器相关 - -### 未连接到守护进程, 请尝试重启启动器 - -请按尝试以下操作: - -1. **完全退出**启动器后(托盘图标点击右键-退出),右键并选择**以管理员身份运行** - -### 杀毒软件提示启动器有病毒 - -若您是在官方网站下载的启动器,则极大概率是误报,建议您在[杀软中添加白名单](https://openfrp.wiki/use/desktop-launcher.html#%E5%8A%A0%E5%85%A5%E7%B3%BB%E7%BB%9F%E7%99%BD%E5%90%8D%E5%8D%95)然后重新安装启动器。 - -若您在非官方网站下载启动器,请删除并去官方网站[OpenFrp管理面板 - 下载中心](https://console.openfrp.net/download)重新下载启动器。 非官方渠道下载的启动器有被植入病毒的风险 - -OpenFrp Lanucher 启动器已完全开源,开源地址:[https://github.com/ZGIT-Network/OpenFrpLauncher](https://github.com/ZGIT-Network/OpenFrpLauncher)。 - -*开放映射启动器软件为完全自主知识产权软件,已获得注册登记。 登记号: 2024SR0589290。* - - - -## FRPC相关 - -### FRPC的兼容性 - -FRP客户端具有很强的兼容性,也就是说您可以使用几乎任何现有(只要支持 -c 参数)的 FRP 客户端来使用我们的服务,只需根据隧道的「配置文件」手动填写关键连接参数,或直接复制配置文件启动即可 - -如果您是使用 Windows XP 或 Windows Vista 的用户,请使用上游的 [0.28.2 (opens new window)](https://github.com/fatedier/frp/releases/tag/v0.28.2)版本 。 - -使用任何非本网站分发的最新版客户端,均视为放弃相关支持,由此带来的任何问题请您发扬极客精神自行解决。 - -OpenFrp支持 FRP 官方最新版本以及其他的 FRP 发行版本,您可以前往任意站点下载任意版本的 FRP 客户端(0.18以上版本)。 如果该客户端支持编辑 FRPC 配置文件,则该 FRP 客户端可以使用 OpenFrp ,使用方法与普通配置文件版本客户端相同! - -请从您所信任的站点下载非Openfrp提供的 FRPC 程序,如 [FRP 的官方 Github 的发行版本 ](https://github.com/fatedier/frp/releases/)等,我们不能保证您通过非 Openfrp 下载的 FRPC 程序没有恶意行为! - - - - -## 节点相关 - -### 节点会有IPV6支持吗? - -没有!我们所有的节点均不支持使用IPv6进行链接,我们也不会考虑提供IPv6的支持 - -~~有公网IPv6为何还需要内网穿透呢?~~ - -### 你能告诉我哪个节点最好用吗? - -取决于以下几点: -- 该节点的使用人数 -- 节点到客户端的物理距离 -- 节点与客户端的网络状况 -- 国家政策 -- 部分不可抗力因素 -- 某些人的恶意攻击 - -> 送某些人一句话:如果有 10% 的利润,它就保证到处被使用;有 20% 的利润,它就活跃起来;有 50%的利润,它就铤而走险;为了 100% 的利润,它就敢践踏一切人间法律;有 300% 的利润,它就敢犯任何罪行,甚至绞首的危险。 - -所以,要想取得最佳体验,建议首选离你地理位置最近的节点。 - -## 速率问题 - -### 为什么穿透速率无法到达标称的最大速率? - -- 我们的限速单位为 Mbps, 即 Megabits per second - -​ 单位换算公式为 1 Mbps = 0.125 MB/s ,如您的限速为5Mbps 上行 / 5 Mpbs 下行 ,则您实际可以得到的速 率为 0.625 MB/s. - -速率转换表: - -| 用户级别 | 速度(Mb) | 速度(MB) | -| -------- | ---------- | ---------- | -| 免费用户 | 12Mb | 1.5MB | -| 普通会员 | 24Mb | 3MB | -| 高级会员 | 36Mb | 4.5MB | - -- 传输速率与本机和节点双方的网络环境、地理位置距离有关。 - -- **用户速率 \* 带宽倍率 = 实际获得速率*** 。 - - > 举个例子:一位免费用户使用十堰电信-2节点,节点上标有 10Mbps | x 0.8 字样,那么ta所能获得的理论带宽为12*0.8=9.6(Mb)。但节点的总带宽是有限的(10Mb),所以高峰期时,ta实际可用的带宽可能低于9.6Mb。 - - - - - -## 管理面板 -### 管理面板打不开怎么办 - -这通常是由于各种神秘的网络问题造成的,也可能是我们的服务器遭到了严重的网络攻击,你可以尝试以下办法 - -- 更换设备访问 (如手机更换为电脑) -- 更换网络环境访问 (如 WiFi 更换为 4G、5G 网络) -- 更换浏览器访问 (推荐使用 Google Chrome / Microsoft Edge / Firefox) -- 查看[状态监控](https://kuma.openfrp.net/)页面中 #0 OpenFrp - 主站 是否正常 -- 查看在 OpenFrp 用户交流群 中是否有故障通知 - -### 增值服务相关 - -- 请在免费服务无法满足您的需求时购买增值服务。若您无法使用免费服务,那您购买增值服务也无法解决! -- **购买增值服务,您不会获得任何额外的官方支持**。若您遇到了问题,可以先试着加群,可能会有空闲的群友帮您解决。 -- 由于增值服务属于虚拟物品,售出不支持退款。 - -### 实名相关 -#### 怎么进行实名验证 - -1. 进入[OpenFrp管理面板 - 个人中心](https://console.openfrp.net/usercenter) -2. 点击 "实名验证" -3. 提交 您的身份证信息 - -> OpenFrp 如果发现您使用网络上的身份证号码进行实名,我们将有权要求您提供身份证照片,如无法提供,我们将按照用户协议进行处置.
- -如果您为以下用户,您可以与我们进行真人验证。 -- 中国香港、中国台湾用户。 -- ~~没有大陆身份证号码的的外国人 (I think you have Public IP)~~ - -#### 我提交的实名信息安全吗 - -我们会严格按照国家相关法律法规进行保存数据,如有疑问,请参阅本站的[**个人信息处理与隐私保护政策**](https://www.openfrp.net/privacy/)。 - -## 其他 - - -### 使用 UDP 的游戏无法通过内网穿透访问 -- 部分使用 UDP 协议传输数据的游戏服务端要求远程端口与本地配置的端口一致才能正常进行通信。 - 如果使用 UDP 隧道的游戏正常无法连接,请尝试修改游戏服务器配置文件中的 监听端口,使其与隧道的 远程端口 一致。别忘了编辑隧道把 本地端口 也改成同样的值 -- 服务器不允许使用 UDP - -### 为什么不推荐用于 Minecraft 映射 - -Minecraft 对节点性能影响极为严重,我们 非常不推荐 您使用 OpenFrp 的服务穿透 Minecraft服务器 - -由于穿透 Minecraft 的用户过多,大部分免费节点的网卡 PPS 都远超出正常值。PPS 达到上限后,即使节点带宽只用了一半,剩下的一半带宽也无法被利用,相当于直接浪费了。 - - - - - - - - - - - diff --git a/src/use/index.md b/src/use/index.md deleted file mode 100644 index c025f97..0000000 --- a/src/use/index.md +++ /dev/null @@ -1,44 +0,0 @@ -# 使用指南 - -你使用 FRPC,总会有自己的目的,对吧? - -但是,不要违反以下任何一点,否则账户将会被**封禁**。 - -* 禁止搭建任何色情、暴力、血腥,或违法国家法律的服务(如网站),查到即封。 -* 滥用 FRP 服务。 - -* 使用被公开的身份证 (由于无法确定您的身份,这可能会影响我们对**用户的查找**) - -## 对了,这里是一些提示: - -建站不建议套用 Cloudflare,可选用CN2节点,大陆访问很快 - -我们永远不推荐使用非大陆地区节点进行任何游戏的联机 - -不同于部分友商,我们也为 FRPC 提供了 TUI (Terminal UI),使您在 Linux,Windows 或者 Mac OS 这些平台上也能更容易的启动。 不过您需要准备你的 UserToken (用户秘钥)。 - -我们很讨厌不会学习的人,特别是计算机领域, - -在使用之前请仔细查看文档,因未阅读网站公告导致的业务损失或奇葩问题,或者没带眼镜提出的问题一律不予回复,多次询问将直接拉黑。 - -[CFU统一识别码编码:DLPYU2N4](https://cfu.openfrp.net/) - -## 远程桌面安全提示 - -映射远程桌面通常会带来出人意料的风险,因为巨硬的漏洞总是很多 - -如果您需要映射远程桌面,我们强烈建议您启用 Windows Update 来避免批量 0day 利用使得您的电脑遭到攻击,出现 WannaCry 等这样的悲剧。 -并设置强密码,而不是使用例如下面的这些 账户 / 密码。 -| 账户 | 密码 | -| --- | --- | -| Administrator | 无 | -| Administrator | 123456 | -| root | password | -| Administrator | (密码在提示中) | -| ... | 键盘上的连续字母 / 数字 | - -系统更新是您的朋友,不是敌人。 如果说有一个东西总是能在暴露的风险中拯救您,那一定是系统更新。 - -系统更新可能会迟到,但是只要到达,它总是能为守护您的电脑奉上您需要的力量。 - -如果您因为一些理由关闭了系统更新,请不要以任何形式把自己暴露在网络中,且必要的安装杀软。 \ No newline at end of file diff --git a/src/use/other/minecraft-service.md b/src/use/other/minecraft-service.md index 0cd449b..3c29c69 100644 --- a/src/use/other/minecraft-service.md +++ b/src/use/other/minecraft-service.md @@ -1,9 +1,8 @@ # Minecraft 相关网络帮助 - - -本章不是从 0 开始帮你搭建的,您需要有一定的基础(知道这是什么)。 +(个人建议本页面请前往[这里](https://github.com/ZGIT-Network/OpenFrp-Docs/blob/main/src/use/other/minecraft-service.md)查看) +本章不是从 0 开始帮你搭建的,您需要一定的基础(知道这是什么)。
我们非常建议您如果要使用 可以在以下地方下到 BungeeCord 类端: - [PaperMC(Waterfall + Velocity)](https://papermc.io/downloads#Waterfall) @@ -11,39 +10,77 @@ ## 关于 Proxy Protocol 的使用 -你可能会困扰,为什么后台反馈的玩家 IP 都是 `127.0.0.1` 呢? -FRP 本质上只有转发流量的功能,并没有标明`我是从哪来? ` -而 Proxy Protocol 会帮他标明来源。 -这可以让服务器反馈真实的 IP ,避免某些IP级操作导致问题出现 +你可能会困扰,为什么后台反馈的玩家 IP 都是 `127.0.0.1` 呢?
+FRP 本质上只有转发流量的功能,并没有标明`我是从哪来? `
+而 Proxy Protocol 会帮他标明来源。
+这可以让服务器反馈真实的 IP ,避免某些IP级操作导致问题出现
(如 ban-ip 牵连全服玩家,因为入网IP都是 127.0.0.1) --- ### 代理端方面设置一览 - -| 服务端类型 | Velocity | BungeeCord | Paper (游戏版本>=1.19 且单端模式) | -|------------|----------|------------|----------------------------------| -| 文件名称/路径 | velocity.toml | config.yaml | config/paper-global.yml | -| 要修改的内容
(不要直接复制,
看修改的参数) |
[advanced]
connection-timeout = 5000
# ...
# 启用对 HAProxy 的兼容
#(默认为Proxy-Protocol-V2)
haproxy-protocol = true
|
listeners:
- query_port: 25577
# 非完整 Config 请勿复制粘贴
# 将此项值改为 `true`
proxy_protocol: true
|
proxies:
proxy-protocol: true
| -| 重载指令
(在控制台输入
不要带斜杠) | /velocity reload | /greload | /paper reload | - -可选项(`Velocity`/`BungeeCord`): 下载[HaProxyDetector](https://github.com/andylizi/haproxy-detector/releases),并安装到`plugins`文件夹内,以便于不经过穿透也能连接到服务器游玩 + + + + + + + + + + + + + + +
服务端类型 Velocity BungeeCord Paper (游戏版本>=1.19 且单端模式)
文件名称/路径 velocity.yaml config.yaml config/paper-global.yml
要修改的内容
(不要直接复制,
看修改的参数)
[advanced]
+connection-timeout = 5000
+# ...
+# 启用对 HAProxy 的兼容
+#(默认为Proxy-Protocol-V2)
+haproxy-protocol = true
+
listeners:
+- query_port: 25577
+  # 非完整 Config 请勿复制粘贴
+  # 将此项值改为 `true`
+  proxy_protocol: true
+
proxies:
+  proxy-protocol: true
+
重载指令
(在控制台输入
不要带斜杠)
/velocity reload/greload/paper reload
+ +可选项(`Velocity`/`BungeeCord`): 下载[HaProxyDetector](https://github.com/andylizi/haproxy-detector/releases),并安装到`plugins`文件夹内,以便于不经过穿透也能连接到服务器游玩
--- ### Frpc 端 -别急,代理那边改完之后还没结束,Frpc那边也需要修改 +别急,代理那边改完之后还没结束,Frpc那边也需要修改
~除非Frpc之后会自动加载HaProxy协议,否则这个地方依旧有用~ -| Frpc运行方式 | 配置文件 | 网页修改 | -|--------------|----------|----------| -| 修改方法与内容 |
[您的隧道名称]
# ...(这里代表其他配置项目)
# 上面那行隧道名称是提醒你底下这行要插入哪里
# 看位置和顺序
proxy_protocol_version = v2
|
在网站的管理隧道内
Minecraft穿透隧道这一行
点击旁边的编辑
在更多配置内插入以下内容,并保存

proxy_protocol_version = v2
| - -注意: `记得保存并重新打开Frpc才能生效` + + + + + + +
Frpc运行方式 配置文件 网页修改
修改方法与内容

+[您的隧道名称]
+# ...(这里代表其他配置项目)
+# 上面那行隧道名称是提醒你底下这行要插入哪里
+# 看位置和顺序
+proxy_protocol_version = v2
+
在网站的管理隧道内
+Minecraft穿透隧道这一行
+点击旁边的编辑
+在更多配置内插入以下内容,并保存
+·
+proxy_protocol_version = v2
+
+ +注意:`记得保存并重新打开Frpc才能生效` ## Geyser JE+BE? -[Geyser](https://geysermc.org/) 是近几年来新型代理工具,但他可不就这么简单。 -他可以实现 Java Edtion 与 Bedrock Edtion 共同联机。 +[Geyser](https://geysermc.org/) 是近几年来新型代理工具,但他可不就这么简单。
+他可以实现 Java Edtion 与 Bedrock Edtion 共同联机。
目前,支持的加载方式如下 [下载地址](https://ci.opencollab.dev/job/GeyserMC/job/Geyser/job/master/) - 单独代理端 - Spigot 插件 @@ -59,90 +96,78 @@ FRP 本质上只有转发流量的功能,并没有标明`我是从哪来? ` 当然可以!你可以根据您的服务端来查看我们推荐的方案 #### BungeeCord与Velocity - + 在`Velocity`/`BungeeCord`上安装`Geyser`、`Floodgate`与[MultiLogin](https://github.com/CaaMoe/MultiLogin/releases)到plugins文件夹下
注意:`根据您的代理端类型下载插件,不要搞错了然后来怪我哦` - + 打开`velocity.toml`文件,修改并保存: ```toml online-mode = true ``` 这样就可以启动了,具体启动`Velocity`/`BungeeCord`的方法,在此就不再赘述 - ---- + + --- - 设置验证服务器的方式 - 在`plugins/multilogin/services`创建文件名为`yggdrasil.yml`
- 以下将以`LittleSkin`做举例
- 复制里面的[内容](https://pastebin.com/X1LbbNRk),并粘贴到文件内,保存后输入如下指令
- `multilogin reload` - ---- + 在`plugins/multilogin/services`创建文件名为`yggdrasil.yml`
+ 以下将以`LittleSkin`做举例
+ 复制里面的[内容](https://pastebin.com/X1LbbNRk),并粘贴到文件内,保存后输入如下指令
+ `multilogin reload` + + --- - 修改后端以同步UUID - 后端的所有服务端,都需要修改配置文件`server.properties`,并重启所有的服务端 + 后端的所有服务端,都需要修改配置文件`server.properties`,并重启所有的服务端 ```properties online-mode=false ``` - + 若后端包含`Paper`,建议额外修改并保存 (若Velocity的`player-info-forwarding-mode`设置为 `legacy`, 可视作为BungeeCord服务端) - - - -旧版配置 paper.yml : - -**Velocity** : - -```yml -settings: -velocity-support: -enabled: true -online-mode: true -secret: <你自己Velocity服务端的> -``` - -**BungeeCord** : - -```yml -settings: -bungee-online-mode: true -``` - - - -新版配置 config/paper-global.yml : - -**Velocity** : - -```yml -proxies: + + + + + + + +
旧版配置 paper.yml
Velocity BungeeCord
settings:
+  velocity-support:
+    enabled: true
+    online-mode: true
+    secret: <你自己Velocity服务端的>
+
settings: 
+    bungee-online-mode: true
+

+ + + + + + + + + +
新版配置: config/paper-global.yml
Velocity BungeeCord
proxies:
   velocity:
     enabled: true
     online-mode: true
     secret: <你自己Velocity服务端的>
-```
-
-**BungeeCord** :
-
-```yml
-proxies:
+
proxies:
   bungee-cord:
     online-mode: true
-```
-
-
-
+
+ --- #### 单端 (不推荐,因为不能使用显示IP,Paper端除外) ~以下内容以Paper服务端做举例~ - + Paper的需要下载`Geyser`与`Floodgate` 并安装到`plugins文件夹`内
(请根据您的服务端类型下载插件) 且需要下载`Authlib-injector`,放入与`paper.jar`同文件夹下
并且你在使用`LittleSkin`提供的外置验证服务 - + 修改配置`server.properties`文件,找到并修改成如下,然后保存 ```properties online-mode=true - ``` + ``` 按如下方式启动(指令为模板,请按顺序放置参数): ```bash java -javaagent:authlib-injector.jar=https://littleskin.cn/api/yggdrasil -jar paper.jar