1012414140@qq.com
2026-10-15 eff1aeeec8c8b24dac27defae65e2ad892f8046b
feat: 优化代码大小
5个文件已添加
6个文件已修改
3407 ■■■■■ 已修改文件
.gitignore 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dist.zip 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json 2494 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/index.html 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main copy.js 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index copy.js 234 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config copy.js 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
New file
@@ -0,0 +1,2 @@
node_modules/
dist/
dist.zip
Binary files differ
package-lock.json
@@ -1521,11 +1521,36 @@
        "glob-to-regexp": "^0.3.0"
      }
    },
    "@nodelib/fs.scandir": {
      "version": "2.1.5",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
      "requires": {
        "@nodelib/fs.stat": "2.0.5",
        "run-parallel": "^1.1.9"
      },
      "dependencies": {
        "@nodelib/fs.stat": {
          "version": "2.0.5",
          "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
          "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
        }
      }
    },
    "@nodelib/fs.stat": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
      "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
      "dev": true
    },
    "@nodelib/fs.walk": {
      "version": "1.2.8",
      "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
      "requires": {
        "@nodelib/fs.scandir": "2.1.5",
        "fastq": "^1.6.0"
      }
    },
    "@sindresorhus/is": {
      "version": "2.1.1",
@@ -1593,6 +1618,12 @@
        "defer-to-connect": "^2.0.0"
      }
    },
    "@trysound/sax": {
      "version": "0.2.0",
      "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz",
      "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
      "optional": true
    },
    "@types/cacheable-request": {
      "version": "6.0.1",
      "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.1.tgz",
@@ -1612,14 +1643,12 @@
    "@types/events": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
      "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
      "dev": true
      "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g=="
    },
    "@types/glob": {
      "version": "7.1.1",
      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
      "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
      "dev": true,
      "requires": {
        "@types/events": "*",
        "@types/minimatch": "*",
@@ -1647,8 +1676,7 @@
    "@types/minimatch": {
      "version": "3.0.3",
      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
      "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
      "dev": true
      "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
    },
    "@types/node": {
      "version": "13.13.5",
@@ -3048,8 +3076,24 @@
    "arch": {
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
      "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==",
      "dev": true
      "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg=="
    },
    "archive-type": {
      "version": "4.0.0",
      "resolved": "https://registry.npmmirror.com/archive-type/-/archive-type-4.0.0.tgz",
      "integrity": "sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==",
      "optional": true,
      "requires": {
        "file-type": "^4.2.0"
      },
      "dependencies": {
        "file-type": {
          "version": "4.4.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-4.4.0.tgz",
          "integrity": "sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==",
          "optional": true
        }
      }
    },
    "archiver": {
      "version": "4.0.1",
@@ -3422,6 +3466,15 @@
            "has-flag": "^1.0.0"
          }
        }
      }
    },
    "available-typed-arrays": {
      "version": "1.0.7",
      "resolved": "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
      "optional": true,
      "requires": {
        "possible-typed-array-names": "^1.0.0"
      }
    },
    "aws-sign2": {
@@ -4336,6 +4389,400 @@
      "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
    },
    "bin-build": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/bin-build/-/bin-build-3.0.0.tgz",
      "integrity": "sha512-jcUOof71/TNAI2uM5uoUaDq2ePcVBQ3R/qhxAz1rX7UfvduAL/RXD3jXzvn8cVcDJdGVkiR1shal3OH0ImpuhA==",
      "optional": true,
      "requires": {
        "decompress": "^4.0.0",
        "download": "^6.2.2",
        "execa": "^0.7.0",
        "p-map-series": "^1.0.0",
        "tempfile": "^2.0.0"
      },
      "dependencies": {
        "cross-spawn": {
          "version": "5.1.0",
          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz",
          "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
          "optional": true,
          "requires": {
            "lru-cache": "^4.0.1",
            "shebang-command": "^1.2.0",
            "which": "^1.2.9"
          }
        },
        "execa": {
          "version": "0.7.0",
          "resolved": "https://registry.npmmirror.com/execa/-/execa-0.7.0.tgz",
          "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==",
          "optional": true,
          "requires": {
            "cross-spawn": "^5.0.1",
            "get-stream": "^3.0.0",
            "is-stream": "^1.1.0",
            "npm-run-path": "^2.0.0",
            "p-finally": "^1.0.0",
            "signal-exit": "^3.0.0",
            "strip-eof": "^1.0.0"
          }
        },
        "get-stream": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz",
          "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==",
          "optional": true
        },
        "lru-cache": {
          "version": "4.1.5",
          "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz",
          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
          "optional": true,
          "requires": {
            "pseudomap": "^1.0.2",
            "yallist": "^2.1.2"
          }
        },
        "yallist": {
          "version": "2.1.2",
          "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
          "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
          "optional": true
        }
      }
    },
    "bin-check": {
      "version": "4.1.0",
      "resolved": "https://registry.npmmirror.com/bin-check/-/bin-check-4.1.0.tgz",
      "integrity": "sha512-b6weQyEUKsDGFlACWSIOfveEnImkJyK/FGW6FAG42loyoquvjdtOIqO6yBFzHyqyVVhNgNkQxxx09SFLK28YnA==",
      "optional": true,
      "requires": {
        "execa": "^0.7.0",
        "executable": "^4.1.0"
      },
      "dependencies": {
        "cross-spawn": {
          "version": "5.1.0",
          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz",
          "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
          "optional": true,
          "requires": {
            "lru-cache": "^4.0.1",
            "shebang-command": "^1.2.0",
            "which": "^1.2.9"
          }
        },
        "execa": {
          "version": "0.7.0",
          "resolved": "https://registry.npmmirror.com/execa/-/execa-0.7.0.tgz",
          "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==",
          "optional": true,
          "requires": {
            "cross-spawn": "^5.0.1",
            "get-stream": "^3.0.0",
            "is-stream": "^1.1.0",
            "npm-run-path": "^2.0.0",
            "p-finally": "^1.0.0",
            "signal-exit": "^3.0.0",
            "strip-eof": "^1.0.0"
          }
        },
        "get-stream": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz",
          "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==",
          "optional": true
        },
        "lru-cache": {
          "version": "4.1.5",
          "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz",
          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
          "optional": true,
          "requires": {
            "pseudomap": "^1.0.2",
            "yallist": "^2.1.2"
          }
        },
        "yallist": {
          "version": "2.1.2",
          "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
          "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
          "optional": true
        }
      }
    },
    "bin-version": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/bin-version/-/bin-version-3.1.0.tgz",
      "integrity": "sha512-Mkfm4iE1VFt4xd4vH+gx+0/71esbfus2LsnCGe8Pi4mndSPyT+NGES/Eg99jx8/lUGWfu3z2yuB/bt5UB+iVbQ==",
      "optional": true,
      "requires": {
        "execa": "^1.0.0",
        "find-versions": "^3.0.0"
      }
    },
    "bin-version-check": {
      "version": "4.0.0",
      "resolved": "https://registry.npmmirror.com/bin-version-check/-/bin-version-check-4.0.0.tgz",
      "integrity": "sha512-sR631OrhC+1f8Cvs8WyVWOA33Y8tgwjETNPyyD/myRBXLkfS/vl74FmH/lFcRl9KY3zwGh7jFhvyk9vV3/3ilQ==",
      "optional": true,
      "requires": {
        "bin-version": "^3.0.0",
        "semver": "^5.6.0",
        "semver-truncate": "^1.1.2"
      }
    },
    "bin-wrapper": {
      "version": "4.1.0",
      "resolved": "https://registry.npmmirror.com/bin-wrapper/-/bin-wrapper-4.1.0.tgz",
      "integrity": "sha512-hfRmo7hWIXPkbpi0ZltboCMVrU+0ClXR/JgbCKKjlDjQf6igXa7OwdqNcFWQZPZTgiY7ZpzE3+LjjkLiTN2T7Q==",
      "optional": true,
      "requires": {
        "bin-check": "^4.1.0",
        "bin-version-check": "^4.0.0",
        "download": "^7.1.0",
        "import-lazy": "^3.1.0",
        "os-filter-obj": "^2.0.0",
        "pify": "^4.0.1"
      },
      "dependencies": {
        "@sindresorhus/is": {
          "version": "0.7.0",
          "resolved": "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.7.0.tgz",
          "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==",
          "optional": true
        },
        "cacheable-request": {
          "version": "2.1.4",
          "resolved": "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-2.1.4.tgz",
          "integrity": "sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==",
          "optional": true,
          "requires": {
            "clone-response": "1.0.2",
            "get-stream": "3.0.0",
            "http-cache-semantics": "3.8.1",
            "keyv": "3.0.0",
            "lowercase-keys": "1.0.0",
            "normalize-url": "2.0.1",
            "responselike": "1.0.2"
          },
          "dependencies": {
            "lowercase-keys": {
              "version": "1.0.0",
              "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
              "integrity": "sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==",
              "optional": true
            }
          }
        },
        "decompress-response": {
          "version": "3.3.0",
          "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz",
          "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
          "optional": true,
          "requires": {
            "mimic-response": "^1.0.0"
          }
        },
        "download": {
          "version": "7.1.0",
          "resolved": "https://registry.npmmirror.com/download/-/download-7.1.0.tgz",
          "integrity": "sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==",
          "optional": true,
          "requires": {
            "archive-type": "^4.0.0",
            "caw": "^2.0.1",
            "content-disposition": "^0.5.2",
            "decompress": "^4.2.0",
            "ext-name": "^5.0.0",
            "file-type": "^8.1.0",
            "filenamify": "^2.0.0",
            "get-stream": "^3.0.0",
            "got": "^8.3.1",
            "make-dir": "^1.2.0",
            "p-event": "^2.1.0",
            "pify": "^3.0.0"
          },
          "dependencies": {
            "pify": {
              "version": "3.0.0",
              "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz",
              "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
              "optional": true
            }
          }
        },
        "file-type": {
          "version": "8.1.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-8.1.0.tgz",
          "integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==",
          "optional": true
        },
        "get-stream": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz",
          "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==",
          "optional": true
        },
        "got": {
          "version": "8.3.2",
          "resolved": "https://registry.npmmirror.com/got/-/got-8.3.2.tgz",
          "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
          "optional": true,
          "requires": {
            "@sindresorhus/is": "^0.7.0",
            "cacheable-request": "^2.1.1",
            "decompress-response": "^3.3.0",
            "duplexer3": "^0.1.4",
            "get-stream": "^3.0.0",
            "into-stream": "^3.1.0",
            "is-retry-allowed": "^1.1.0",
            "isurl": "^1.0.0-alpha5",
            "lowercase-keys": "^1.0.0",
            "mimic-response": "^1.0.0",
            "p-cancelable": "^0.4.0",
            "p-timeout": "^2.0.1",
            "pify": "^3.0.0",
            "safe-buffer": "^5.1.1",
            "timed-out": "^4.0.1",
            "url-parse-lax": "^3.0.0",
            "url-to-options": "^1.0.1"
          },
          "dependencies": {
            "pify": {
              "version": "3.0.0",
              "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz",
              "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
              "optional": true
            }
          }
        },
        "http-cache-semantics": {
          "version": "3.8.1",
          "resolved": "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
          "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
          "optional": true
        },
        "json-buffer": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz",
          "integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
          "optional": true
        },
        "keyv": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/keyv/-/keyv-3.0.0.tgz",
          "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
          "optional": true,
          "requires": {
            "json-buffer": "3.0.0"
          }
        },
        "lowercase-keys": {
          "version": "1.0.1",
          "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
          "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
          "optional": true
        },
        "make-dir": {
          "version": "1.3.0",
          "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-1.3.0.tgz",
          "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
          "optional": true,
          "requires": {
            "pify": "^3.0.0"
          },
          "dependencies": {
            "pify": {
              "version": "3.0.0",
              "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz",
              "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
              "optional": true
            }
          }
        },
        "normalize-url": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/normalize-url/-/normalize-url-2.0.1.tgz",
          "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
          "optional": true,
          "requires": {
            "prepend-http": "^2.0.0",
            "query-string": "^5.0.1",
            "sort-keys": "^2.0.0"
          }
        },
        "p-cancelable": {
          "version": "0.4.1",
          "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-0.4.1.tgz",
          "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==",
          "optional": true
        },
        "p-event": {
          "version": "2.3.1",
          "resolved": "https://registry.npmmirror.com/p-event/-/p-event-2.3.1.tgz",
          "integrity": "sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==",
          "optional": true,
          "requires": {
            "p-timeout": "^2.0.1"
          }
        },
        "p-timeout": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-2.0.1.tgz",
          "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
          "optional": true,
          "requires": {
            "p-finally": "^1.0.0"
          }
        },
        "prepend-http": {
          "version": "2.0.0",
          "resolved": "https://registry.npmmirror.com/prepend-http/-/prepend-http-2.0.0.tgz",
          "integrity": "sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==",
          "optional": true
        },
        "query-string": {
          "version": "5.1.1",
          "resolved": "https://registry.npmmirror.com/query-string/-/query-string-5.1.1.tgz",
          "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
          "optional": true,
          "requires": {
            "decode-uri-component": "^0.2.0",
            "object-assign": "^4.1.0",
            "strict-uri-encode": "^1.0.0"
          }
        },
        "responselike": {
          "version": "1.0.2",
          "resolved": "https://registry.npmmirror.com/responselike/-/responselike-1.0.2.tgz",
          "integrity": "sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==",
          "optional": true,
          "requires": {
            "lowercase-keys": "^1.0.0"
          }
        },
        "sort-keys": {
          "version": "2.0.0",
          "resolved": "https://registry.npmmirror.com/sort-keys/-/sort-keys-2.0.0.tgz",
          "integrity": "sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==",
          "optional": true,
          "requires": {
            "is-plain-obj": "^1.0.0"
          }
        },
        "url-parse-lax": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
          "integrity": "sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==",
          "optional": true,
          "requires": {
            "prepend-http": "^2.0.0"
          }
        }
      }
    },
    "binary-extensions": {
      "version": "1.13.1",
      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
@@ -4459,8 +4906,7 @@
    "boolbase": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
      "dev": true
      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24="
    },
    "bplist-creator": {
      "version": "0.0.8",
@@ -4626,6 +5072,22 @@
        "isarray": "^1.0.0"
      }
    },
    "buffer-alloc": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
      "optional": true,
      "requires": {
        "buffer-alloc-unsafe": "^1.1.0",
        "buffer-fill": "^1.0.0"
      }
    },
    "buffer-alloc-unsafe": {
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
      "optional": true
    },
    "buffer-crc32": {
      "version": "0.2.13",
      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
@@ -4635,6 +5097,12 @@
      "version": "0.0.1",
      "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
      "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs="
    },
    "buffer-fill": {
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/buffer-fill/-/buffer-fill-1.0.0.tgz",
      "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==",
      "optional": true
    },
    "buffer-from": {
      "version": "1.1.1",
@@ -4769,6 +5237,66 @@
        "get-intrinsic": "^1.0.2"
      }
    },
    "call-bind-apply-helpers": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
      "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
      "optional": true,
      "requires": {
        "es-errors": "^1.3.0",
        "function-bind": "^1.1.2"
      },
      "dependencies": {
        "function-bind": {
          "version": "1.1.2",
          "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
          "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
          "optional": true
        }
      }
    },
    "call-bound": {
      "version": "1.0.4",
      "resolved": "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz",
      "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
      "optional": true,
      "requires": {
        "call-bind-apply-helpers": "^1.0.2",
        "get-intrinsic": "^1.3.0"
      },
      "dependencies": {
        "function-bind": {
          "version": "1.1.2",
          "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
          "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
          "optional": true
        },
        "get-intrinsic": {
          "version": "1.3.0",
          "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
          "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
          "optional": true,
          "requires": {
            "call-bind-apply-helpers": "^1.0.2",
            "es-define-property": "^1.0.1",
            "es-errors": "^1.3.0",
            "es-object-atoms": "^1.1.1",
            "function-bind": "^1.1.2",
            "get-proto": "^1.0.1",
            "gopd": "^1.2.0",
            "has-symbols": "^1.1.0",
            "hasown": "^2.0.2",
            "math-intrinsics": "^1.1.0"
          }
        },
        "has-symbols": {
          "version": "1.1.0",
          "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
          "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
          "optional": true
        }
      }
    },
    "call-me-maybe": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
@@ -4862,6 +5390,18 @@
      "version": "0.12.0",
      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
    },
    "caw": {
      "version": "2.0.1",
      "resolved": "https://registry.npmmirror.com/caw/-/caw-2.0.1.tgz",
      "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==",
      "optional": true,
      "requires": {
        "get-proxy": "^2.0.0",
        "isurl": "^1.0.0-alpha5",
        "tunnel-agent": "^0.6.0",
        "url-to-options": "^1.0.1"
      }
    },
    "center-align": {
      "version": "0.1.3",
@@ -5381,6 +5921,11 @@
        }
      }
    },
    "comutils": {
      "version": "1.1.19",
      "resolved": "https://registry.npmmirror.com/comutils/-/comutils-1.1.19.tgz",
      "integrity": "sha512-JxXB67juILiwhdLwOsYyjUqwWEhHdObI0EClOPk+JDtEuTbac59s0pxGpfCBnNNQ5JommifmcMGneW/4Cg7YWw=="
    },
    "concat-map": {
      "version": "0.0.1",
      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -5395,6 +5940,16 @@
        "inherits": "^2.0.3",
        "readable-stream": "^2.2.2",
        "typedarray": "^0.0.6"
      }
    },
    "config-chain": {
      "version": "1.1.13",
      "resolved": "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz",
      "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==",
      "optional": true,
      "requires": {
        "ini": "^1.3.4",
        "proto-list": "~1.2.1"
      }
    },
    "connect-history-api-fallback": {
@@ -6044,6 +6599,16 @@
        "array-find-index": "^1.0.1"
      }
    },
    "cwebp-bin": {
      "version": "7.0.1",
      "resolved": "https://registry.npmmirror.com/cwebp-bin/-/cwebp-bin-7.0.1.tgz",
      "integrity": "sha512-Ko5ADY74/dbfd8xG0+f+MUP9UKjCe1TG4ehpW0E5y4YlPdwDJlGrSzSR4/Yonxpm9QmZE1RratkIxFlKeyo3FA==",
      "optional": true,
      "requires": {
        "bin-build": "^3.0.0",
        "bin-wrapper": "^4.0.1"
      }
    },
    "cyclist": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
@@ -6090,6 +6655,47 @@
      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
    },
    "decompress": {
      "version": "4.2.1",
      "resolved": "https://registry.npmmirror.com/decompress/-/decompress-4.2.1.tgz",
      "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==",
      "optional": true,
      "requires": {
        "decompress-tar": "^4.0.0",
        "decompress-tarbz2": "^4.0.0",
        "decompress-targz": "^4.0.0",
        "decompress-unzip": "^4.0.1",
        "graceful-fs": "^4.1.10",
        "make-dir": "^1.0.0",
        "pify": "^2.3.0",
        "strip-dirs": "^2.0.0"
      },
      "dependencies": {
        "make-dir": {
          "version": "1.3.0",
          "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-1.3.0.tgz",
          "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
          "optional": true,
          "requires": {
            "pify": "^3.0.0"
          },
          "dependencies": {
            "pify": {
              "version": "3.0.0",
              "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz",
              "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
              "optional": true
            }
          }
        },
        "pify": {
          "version": "2.3.0",
          "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz",
          "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
          "optional": true
        }
      }
    },
    "decompress-response": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
@@ -6102,6 +6708,126 @@
          "version": "3.1.0",
          "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
          "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
        }
      }
    },
    "decompress-tar": {
      "version": "4.1.1",
      "resolved": "https://registry.npmmirror.com/decompress-tar/-/decompress-tar-4.1.1.tgz",
      "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
      "optional": true,
      "requires": {
        "file-type": "^5.2.0",
        "is-stream": "^1.1.0",
        "tar-stream": "^1.5.2"
      },
      "dependencies": {
        "bl": {
          "version": "1.2.3",
          "resolved": "https://registry.npmmirror.com/bl/-/bl-1.2.3.tgz",
          "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==",
          "optional": true,
          "requires": {
            "readable-stream": "^2.3.5",
            "safe-buffer": "^5.1.1"
          }
        },
        "file-type": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-5.2.0.tgz",
          "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==",
          "optional": true
        },
        "tar-stream": {
          "version": "1.6.2",
          "resolved": "https://registry.npmmirror.com/tar-stream/-/tar-stream-1.6.2.tgz",
          "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
          "optional": true,
          "requires": {
            "bl": "^1.0.0",
            "buffer-alloc": "^1.2.0",
            "end-of-stream": "^1.0.0",
            "fs-constants": "^1.0.0",
            "readable-stream": "^2.3.0",
            "to-buffer": "^1.1.1",
            "xtend": "^4.0.0"
          }
        }
      }
    },
    "decompress-tarbz2": {
      "version": "4.1.1",
      "resolved": "https://registry.npmmirror.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
      "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
      "optional": true,
      "requires": {
        "decompress-tar": "^4.1.0",
        "file-type": "^6.1.0",
        "is-stream": "^1.1.0",
        "seek-bzip": "^1.0.5",
        "unbzip2-stream": "^1.0.9"
      },
      "dependencies": {
        "file-type": {
          "version": "6.2.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-6.2.0.tgz",
          "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==",
          "optional": true
        }
      }
    },
    "decompress-targz": {
      "version": "4.1.1",
      "resolved": "https://registry.npmmirror.com/decompress-targz/-/decompress-targz-4.1.1.tgz",
      "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
      "optional": true,
      "requires": {
        "decompress-tar": "^4.1.1",
        "file-type": "^5.2.0",
        "is-stream": "^1.1.0"
      },
      "dependencies": {
        "file-type": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-5.2.0.tgz",
          "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==",
          "optional": true
        }
      }
    },
    "decompress-unzip": {
      "version": "4.0.1",
      "resolved": "https://registry.npmmirror.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
      "integrity": "sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==",
      "optional": true,
      "requires": {
        "file-type": "^3.8.0",
        "get-stream": "^2.2.0",
        "pify": "^2.3.0",
        "yauzl": "^2.4.2"
      },
      "dependencies": {
        "file-type": {
          "version": "3.9.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-3.9.0.tgz",
          "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==",
          "optional": true
        },
        "get-stream": {
          "version": "2.3.1",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-2.3.1.tgz",
          "integrity": "sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==",
          "optional": true,
          "requires": {
            "object-assign": "^4.0.1",
            "pinkie-promise": "^2.0.0"
          }
        },
        "pify": {
          "version": "2.3.0",
          "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz",
          "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
          "optional": true
        }
      }
    },
@@ -6259,6 +6985,17 @@
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.0.tgz",
      "integrity": "sha512-bYL2d05vOSf1JEZNx5vSAtPuBMkX8K9EUutg7zlKvTqKXHt7RhWJFbmd7qakVuf13i+IkGmp6FwSsONOf6VYIg=="
    },
    "define-data-property": {
      "version": "1.1.4",
      "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
      "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
      "optional": true,
      "requires": {
        "es-define-property": "^1.0.0",
        "es-errors": "^1.3.0",
        "gopd": "^1.0.1"
      }
    },
    "define-properties": {
      "version": "1.1.3",
@@ -6575,10 +7312,118 @@
      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
      "dev": true
    },
    "download": {
      "version": "6.2.5",
      "resolved": "https://registry.npmmirror.com/download/-/download-6.2.5.tgz",
      "integrity": "sha512-DpO9K1sXAST8Cpzb7kmEhogJxymyVUd5qz/vCOSyvwtp2Klj2XcDt5YUuasgxka44SxF0q5RriKIwJmQHG2AuA==",
      "optional": true,
      "requires": {
        "caw": "^2.0.0",
        "content-disposition": "^0.5.2",
        "decompress": "^4.0.0",
        "ext-name": "^5.0.0",
        "file-type": "5.2.0",
        "filenamify": "^2.0.0",
        "get-stream": "^3.0.0",
        "got": "^7.0.0",
        "make-dir": "^1.0.0",
        "p-event": "^1.0.0",
        "pify": "^3.0.0"
      },
      "dependencies": {
        "decompress-response": {
          "version": "3.3.0",
          "resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz",
          "integrity": "sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==",
          "optional": true,
          "requires": {
            "mimic-response": "^1.0.0"
          }
        },
        "file-type": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-5.2.0.tgz",
          "integrity": "sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==",
          "optional": true
        },
        "get-stream": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz",
          "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==",
          "optional": true
        },
        "got": {
          "version": "7.1.0",
          "resolved": "https://registry.npmmirror.com/got/-/got-7.1.0.tgz",
          "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==",
          "optional": true,
          "requires": {
            "decompress-response": "^3.2.0",
            "duplexer3": "^0.1.4",
            "get-stream": "^3.0.0",
            "is-plain-obj": "^1.1.0",
            "is-retry-allowed": "^1.0.0",
            "is-stream": "^1.0.0",
            "isurl": "^1.0.0-alpha5",
            "lowercase-keys": "^1.0.0",
            "p-cancelable": "^0.3.0",
            "p-timeout": "^1.1.1",
            "safe-buffer": "^5.0.1",
            "timed-out": "^4.0.0",
            "url-parse-lax": "^1.0.0",
            "url-to-options": "^1.0.1"
          }
        },
        "lowercase-keys": {
          "version": "1.0.1",
          "resolved": "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
          "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
          "optional": true
        },
        "make-dir": {
          "version": "1.3.0",
          "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-1.3.0.tgz",
          "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
          "optional": true,
          "requires": {
            "pify": "^3.0.0"
          }
        },
        "p-cancelable": {
          "version": "0.3.0",
          "resolved": "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-0.3.0.tgz",
          "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==",
          "optional": true
        },
        "pify": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz",
          "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
          "optional": true
        }
      }
    },
    "dunder-proto": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
      "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
      "optional": true,
      "requires": {
        "call-bind-apply-helpers": "^1.0.1",
        "es-errors": "^1.3.0",
        "gopd": "^1.2.0"
      }
    },
    "duplexer": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
      "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E="
    },
    "duplexer3": {
      "version": "0.1.5",
      "resolved": "https://registry.npmmirror.com/duplexer3/-/duplexer3-0.1.5.tgz",
      "integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
      "optional": true
    },
    "duplexify": {
      "version": "3.7.1",
@@ -6723,8 +7568,7 @@
    "entities": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
      "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
      "dev": true
      "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw=="
    },
    "errno": {
      "version": "0.1.7",
@@ -6767,6 +7611,27 @@
        "object.assign": "^4.1.0",
        "string.prototype.trimleft": "^2.1.1",
        "string.prototype.trimright": "^2.1.1"
      }
    },
    "es-define-property": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
      "optional": true
    },
    "es-errors": {
      "version": "1.3.0",
      "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
      "optional": true
    },
    "es-object-atoms": {
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
      "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
      "optional": true,
      "requires": {
        "es-errors": "^1.3.0"
      }
    },
    "es-to-primitive": {
@@ -6966,11 +7831,79 @@
        "safe-buffer": "^5.1.1"
      }
    },
    "exec-buffer": {
      "version": "3.2.0",
      "resolved": "https://registry.npmmirror.com/exec-buffer/-/exec-buffer-3.2.0.tgz",
      "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==",
      "optional": true,
      "requires": {
        "execa": "^0.7.0",
        "p-finally": "^1.0.0",
        "pify": "^3.0.0",
        "rimraf": "^2.5.4",
        "tempfile": "^2.0.0"
      },
      "dependencies": {
        "cross-spawn": {
          "version": "5.1.0",
          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz",
          "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
          "optional": true,
          "requires": {
            "lru-cache": "^4.0.1",
            "shebang-command": "^1.2.0",
            "which": "^1.2.9"
          }
        },
        "execa": {
          "version": "0.7.0",
          "resolved": "https://registry.npmmirror.com/execa/-/execa-0.7.0.tgz",
          "integrity": "sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==",
          "optional": true,
          "requires": {
            "cross-spawn": "^5.0.1",
            "get-stream": "^3.0.0",
            "is-stream": "^1.1.0",
            "npm-run-path": "^2.0.0",
            "p-finally": "^1.0.0",
            "signal-exit": "^3.0.0",
            "strip-eof": "^1.0.0"
          }
        },
        "get-stream": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz",
          "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==",
          "optional": true
        },
        "lru-cache": {
          "version": "4.1.5",
          "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz",
          "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
          "optional": true,
          "requires": {
            "pseudomap": "^1.0.2",
            "yallist": "^2.1.2"
          }
        },
        "pify": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz",
          "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
          "optional": true
        },
        "yallist": {
          "version": "2.1.2",
          "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
          "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
          "optional": true
        }
      }
    },
    "execa": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
      "dev": true,
      "requires": {
        "cross-spawn": "^6.0.0",
        "get-stream": "^4.0.0",
@@ -6979,6 +7912,23 @@
        "p-finally": "^1.0.0",
        "signal-exit": "^3.0.0",
        "strip-eof": "^1.0.0"
      }
    },
    "executable": {
      "version": "4.1.1",
      "resolved": "https://registry.npmmirror.com/executable/-/executable-4.1.1.tgz",
      "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==",
      "optional": true,
      "requires": {
        "pify": "^2.2.0"
      },
      "dependencies": {
        "pify": {
          "version": "2.3.0",
          "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz",
          "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
          "optional": true
        }
      }
    },
    "exif-parser": {
@@ -7091,6 +8041,25 @@
          "resolved": "https://mirrors.cloud.tencent.com/npm/type/-/type-2.7.2.tgz",
          "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
        }
      }
    },
    "ext-list": {
      "version": "2.2.2",
      "resolved": "https://registry.npmmirror.com/ext-list/-/ext-list-2.2.2.tgz",
      "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
      "optional": true,
      "requires": {
        "mime-db": "^1.28.0"
      }
    },
    "ext-name": {
      "version": "5.0.0",
      "resolved": "https://registry.npmmirror.com/ext-name/-/ext-name-5.0.0.tgz",
      "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
      "optional": true,
      "requires": {
        "ext-list": "^2.0.0",
        "sort-keys-length": "^1.0.0"
      }
    },
    "extend": {
@@ -7284,10 +8253,27 @@
      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
    },
    "fast-xml-parser": {
      "version": "4.5.3",
      "resolved": "https://registry.npmmirror.com/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
      "integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
      "optional": true,
      "requires": {
        "strnum": "^1.1.1"
      }
    },
    "fastparse": {
      "version": "1.1.2",
      "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
      "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ=="
    },
    "fastq": {
      "version": "1.20.1",
      "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.20.1.tgz",
      "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
      "requires": {
        "reusify": "^1.0.4"
      }
    },
    "faye-websocket": {
      "version": "0.10.0",
@@ -7349,6 +8335,23 @@
      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
      "optional": true
    },
    "filename-reserved-regex": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
      "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==",
      "optional": true
    },
    "filenamify": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/filenamify/-/filenamify-2.1.0.tgz",
      "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==",
      "optional": true,
      "requires": {
        "filename-reserved-regex": "^2.0.0",
        "strip-outer": "^1.0.0",
        "trim-repeated": "^1.0.0"
      }
    },
    "filesize": {
      "version": "3.6.1",
@@ -7438,6 +8441,15 @@
        "locate-path": "^2.0.0"
      }
    },
    "find-versions": {
      "version": "3.2.0",
      "resolved": "https://registry.npmmirror.com/find-versions/-/find-versions-3.2.0.tgz",
      "integrity": "sha512-P8WRou2S+oe222TOCHitLy8zj+SIsVJh52VP4lvXkaFVnOFFdoWv1H1Jjvel1aI6NCFOAaeAVm8qrI0odiLcww==",
      "optional": true,
      "requires": {
        "semver-regex": "^2.0.0"
      }
    },
    "flatten": {
      "version": "1.0.3",
      "resolved": "https://mirrors.cloud.tencent.com/npm/flatten/-/flatten-1.0.3.tgz",
@@ -7459,6 +8471,23 @@
      "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
      "requires": {
        "debug": "=3.1.0"
      }
    },
    "for-each": {
      "version": "0.3.5",
      "resolved": "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz",
      "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
      "optional": true,
      "requires": {
        "is-callable": "^1.2.7"
      },
      "dependencies": {
        "is-callable": {
          "version": "1.2.7",
          "resolved": "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz",
          "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
          "optional": true
        }
      }
    },
    "for-in": {
@@ -7503,7 +8532,6 @@
      "version": "2.3.0",
      "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
      "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
      "dev": true,
      "requires": {
        "inherits": "^2.0.1",
        "readable-stream": "^2.0.0"
@@ -7676,6 +8704,25 @@
        "has-symbols": "^1.0.1"
      }
    },
    "get-proto": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
      "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
      "optional": true,
      "requires": {
        "dunder-proto": "^1.0.1",
        "es-object-atoms": "^1.0.0"
      }
    },
    "get-proxy": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/get-proxy/-/get-proxy-2.1.0.tgz",
      "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==",
      "optional": true,
      "requires": {
        "npm-conf": "^1.1.0"
      }
    },
    "get-stdin": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@@ -7685,7 +8732,6 @@
      "version": "4.1.0",
      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
      "dev": true,
      "requires": {
        "pump": "^3.0.0"
      }
@@ -7701,6 +8747,119 @@
      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
      "requires": {
        "assert-plus": "^1.0.0"
      }
    },
    "gifsicle": {
      "version": "5.3.0",
      "resolved": "https://registry.npmmirror.com/gifsicle/-/gifsicle-5.3.0.tgz",
      "integrity": "sha512-FJTpgdj1Ow/FITB7SVza5HlzXa+/lqEY0tHQazAJbuAdvyJtkH4wIdsR2K414oaTwRXHFLLF+tYbipj+OpYg+Q==",
      "optional": true,
      "requires": {
        "bin-build": "^3.0.0",
        "bin-wrapper": "^4.0.0",
        "execa": "^5.0.0"
      },
      "dependencies": {
        "cross-spawn": {
          "version": "7.0.6",
          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz",
          "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
          "optional": true,
          "requires": {
            "path-key": "^3.1.0",
            "shebang-command": "^2.0.0",
            "which": "^2.0.1"
          }
        },
        "execa": {
          "version": "5.1.1",
          "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz",
          "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
          "optional": true,
          "requires": {
            "cross-spawn": "^7.0.3",
            "get-stream": "^6.0.0",
            "human-signals": "^2.1.0",
            "is-stream": "^2.0.0",
            "merge-stream": "^2.0.0",
            "npm-run-path": "^4.0.1",
            "onetime": "^5.1.2",
            "signal-exit": "^3.0.3",
            "strip-final-newline": "^2.0.0"
          }
        },
        "get-stream": {
          "version": "6.0.1",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz",
          "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
          "optional": true
        },
        "human-signals": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz",
          "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
          "optional": true
        },
        "is-stream": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
          "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
          "optional": true
        },
        "mimic-fn": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
          "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
          "optional": true
        },
        "npm-run-path": {
          "version": "4.0.1",
          "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
          "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
          "optional": true,
          "requires": {
            "path-key": "^3.0.0"
          }
        },
        "onetime": {
          "version": "5.1.2",
          "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
          "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
          "optional": true,
          "requires": {
            "mimic-fn": "^2.1.0"
          }
        },
        "path-key": {
          "version": "3.1.1",
          "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
          "optional": true
        },
        "shebang-command": {
          "version": "2.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
          "optional": true,
          "requires": {
            "shebang-regex": "^3.0.0"
          }
        },
        "shebang-regex": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
          "optional": true
        },
        "which": {
          "version": "2.0.2",
          "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
          "optional": true,
          "requires": {
            "isexe": "^2.0.0"
          }
        }
      }
    },
    "glob": {
@@ -7796,6 +8955,12 @@
        "lodash": "~4.17.10",
        "minimatch": "~3.0.2"
      }
    },
    "gopd": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
      "optional": true
    },
    "got": {
      "version": "11.1.4",
@@ -7893,10 +9058,51 @@
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
    },
    "has-property-descriptors": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
      "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
      "optional": true,
      "requires": {
        "es-define-property": "^1.0.0"
      }
    },
    "has-symbol-support-x": {
      "version": "1.4.2",
      "resolved": "https://registry.npmmirror.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
      "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==",
      "optional": true
    },
    "has-symbols": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
      "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
    },
    "has-to-string-tag-x": {
      "version": "1.4.1",
      "resolved": "https://registry.npmmirror.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
      "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
      "optional": true,
      "requires": {
        "has-symbol-support-x": "^1.4.1"
      }
    },
    "has-tostringtag": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
      "optional": true,
      "requires": {
        "has-symbols": "^1.0.3"
      },
      "dependencies": {
        "has-symbols": {
          "version": "1.1.0",
          "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
          "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
          "optional": true
        }
      }
    },
    "has-unicode": {
      "version": "2.0.1",
@@ -7976,6 +9182,23 @@
      "requires": {
        "inherits": "^2.0.3",
        "minimalistic-assert": "^1.0.1"
      }
    },
    "hasown": {
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
      "optional": true,
      "requires": {
        "function-bind": "^1.1.2"
      },
      "dependencies": {
        "function-bind": {
          "version": "1.1.2",
          "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
          "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
          "optional": true
        }
      }
    },
    "he": {
@@ -8299,8 +9522,7 @@
    "human-signals": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
      "dev": true
      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw=="
    },
    "iconv-lite": {
      "version": "0.4.24",
@@ -8357,6 +9579,594 @@
      "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
      "dev": true
    },
    "image-webpack-loader": {
      "version": "8.1.0",
      "resolved": "https://registry.npmmirror.com/image-webpack-loader/-/image-webpack-loader-8.1.0.tgz",
      "integrity": "sha512-bxzMIBNu42KGo6Bc9YMB0QEUt+XuVTl2ZSX3oGAlbsqYOkxkT4TEWvVsnwUkCRCYISJrMCEc/s0y8OYrmEfUOg==",
      "requires": {
        "imagemin": "^7.0.1",
        "imagemin-gifsicle": "^7.0.0",
        "imagemin-mozjpeg": "^9.0.0",
        "imagemin-optipng": "^8.0.0",
        "imagemin-pngquant": "^9.0.2",
        "imagemin-svgo": "^9.0.0",
        "imagemin-webp": "^7.0.0",
        "loader-utils": "^2.0.0",
        "object-assign": "^4.1.1",
        "schema-utils": "^2.7.1"
      },
      "dependencies": {
        "ajv": {
          "version": "6.12.6",
          "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
          "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
          "requires": {
            "fast-deep-equal": "^3.1.1",
            "fast-json-stable-stringify": "^2.0.0",
            "json-schema-traverse": "^0.4.1",
            "uri-js": "^4.2.2"
          }
        },
        "ajv-keywords": {
          "version": "3.5.2",
          "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
          "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "schema-utils": {
          "version": "2.7.1",
          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz",
          "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
          "requires": {
            "@types/json-schema": "^7.0.5",
            "ajv": "^6.12.4",
            "ajv-keywords": "^3.5.2"
          }
        }
      }
    },
    "imagemin": {
      "version": "7.0.1",
      "resolved": "https://registry.npmmirror.com/imagemin/-/imagemin-7.0.1.tgz",
      "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==",
      "requires": {
        "file-type": "^12.0.0",
        "globby": "^10.0.0",
        "graceful-fs": "^4.2.2",
        "junk": "^3.1.0",
        "make-dir": "^3.0.0",
        "p-pipe": "^3.0.0",
        "replace-ext": "^1.0.0"
      },
      "dependencies": {
        "@nodelib/fs.stat": {
          "version": "2.0.5",
          "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
          "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
        },
        "array-union": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz",
          "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
        },
        "braces": {
          "version": "3.0.3",
          "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
          "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
          "requires": {
            "fill-range": "^7.1.1"
          }
        },
        "dir-glob": {
          "version": "3.0.1",
          "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz",
          "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
          "requires": {
            "path-type": "^4.0.0"
          }
        },
        "fast-glob": {
          "version": "3.3.3",
          "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.3.tgz",
          "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
          "requires": {
            "@nodelib/fs.stat": "^2.0.2",
            "@nodelib/fs.walk": "^1.2.3",
            "glob-parent": "^5.1.2",
            "merge2": "^1.3.0",
            "micromatch": "^4.0.8"
          }
        },
        "file-type": {
          "version": "12.4.2",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-12.4.2.tgz",
          "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg=="
        },
        "fill-range": {
          "version": "7.1.1",
          "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
          "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
          "requires": {
            "to-regex-range": "^5.0.1"
          }
        },
        "glob-parent": {
          "version": "5.1.2",
          "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
          "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
          "requires": {
            "is-glob": "^4.0.1"
          }
        },
        "globby": {
          "version": "10.0.2",
          "resolved": "https://registry.npmmirror.com/globby/-/globby-10.0.2.tgz",
          "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
          "requires": {
            "@types/glob": "^7.1.1",
            "array-union": "^2.1.0",
            "dir-glob": "^3.0.1",
            "fast-glob": "^3.0.3",
            "glob": "^7.1.3",
            "ignore": "^5.1.1",
            "merge2": "^1.2.3",
            "slash": "^3.0.0"
          }
        },
        "ignore": {
          "version": "5.3.2",
          "resolved": "https://registry.npmmirror.com/ignore/-/ignore-5.3.2.tgz",
          "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g=="
        },
        "is-number": {
          "version": "7.0.0",
          "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
        },
        "make-dir": {
          "version": "3.1.0",
          "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz",
          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
          "requires": {
            "semver": "^6.0.0"
          }
        },
        "micromatch": {
          "version": "4.0.8",
          "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
          "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
          "requires": {
            "braces": "^3.0.3",
            "picomatch": "^2.3.1"
          }
        },
        "path-type": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz",
          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
        },
        "semver": {
          "version": "6.3.1",
          "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
          "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
        },
        "slash": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz",
          "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
        },
        "to-regex-range": {
          "version": "5.0.1",
          "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
          "requires": {
            "is-number": "^7.0.0"
          }
        }
      }
    },
    "imagemin-gifsicle": {
      "version": "7.0.0",
      "resolved": "https://registry.npmmirror.com/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz",
      "integrity": "sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA==",
      "optional": true,
      "requires": {
        "execa": "^1.0.0",
        "gifsicle": "^5.0.0",
        "is-gif": "^3.0.0"
      }
    },
    "imagemin-mozjpeg": {
      "version": "9.0.0",
      "resolved": "https://registry.npmmirror.com/imagemin-mozjpeg/-/imagemin-mozjpeg-9.0.0.tgz",
      "integrity": "sha512-TwOjTzYqCFRgROTWpVSt5UTT0JeCuzF1jswPLKALDd89+PmrJ2PdMMYeDLYZ1fs9cTovI9GJd68mRSnuVt691w==",
      "optional": true,
      "requires": {
        "execa": "^4.0.0",
        "is-jpg": "^2.0.0",
        "mozjpeg": "^7.0.0"
      },
      "dependencies": {
        "cross-spawn": {
          "version": "7.0.6",
          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz",
          "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
          "optional": true,
          "requires": {
            "path-key": "^3.1.0",
            "shebang-command": "^2.0.0",
            "which": "^2.0.1"
          }
        },
        "execa": {
          "version": "4.1.0",
          "resolved": "https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz",
          "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
          "optional": true,
          "requires": {
            "cross-spawn": "^7.0.0",
            "get-stream": "^5.0.0",
            "human-signals": "^1.1.1",
            "is-stream": "^2.0.0",
            "merge-stream": "^2.0.0",
            "npm-run-path": "^4.0.0",
            "onetime": "^5.1.0",
            "signal-exit": "^3.0.2",
            "strip-final-newline": "^2.0.0"
          }
        },
        "get-stream": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz",
          "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
          "optional": true,
          "requires": {
            "pump": "^3.0.0"
          }
        },
        "is-stream": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
          "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
          "optional": true
        },
        "mimic-fn": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
          "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
          "optional": true
        },
        "npm-run-path": {
          "version": "4.0.1",
          "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
          "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
          "optional": true,
          "requires": {
            "path-key": "^3.0.0"
          }
        },
        "onetime": {
          "version": "5.1.2",
          "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
          "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
          "optional": true,
          "requires": {
            "mimic-fn": "^2.1.0"
          }
        },
        "path-key": {
          "version": "3.1.1",
          "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
          "optional": true
        },
        "shebang-command": {
          "version": "2.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
          "optional": true,
          "requires": {
            "shebang-regex": "^3.0.0"
          }
        },
        "shebang-regex": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
          "optional": true
        },
        "which": {
          "version": "2.0.2",
          "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
          "optional": true,
          "requires": {
            "isexe": "^2.0.0"
          }
        }
      }
    },
    "imagemin-optipng": {
      "version": "8.0.0",
      "resolved": "https://registry.npmmirror.com/imagemin-optipng/-/imagemin-optipng-8.0.0.tgz",
      "integrity": "sha512-CUGfhfwqlPjAC0rm8Fy+R2DJDBGjzy2SkfyT09L8rasnF9jSoHFqJ1xxSZWK6HVPZBMhGPMxCTL70OgTHlLF5A==",
      "optional": true,
      "requires": {
        "exec-buffer": "^3.0.0",
        "is-png": "^2.0.0",
        "optipng-bin": "^7.0.0"
      }
    },
    "imagemin-pngquant": {
      "version": "9.0.2",
      "resolved": "https://registry.npmmirror.com/imagemin-pngquant/-/imagemin-pngquant-9.0.2.tgz",
      "integrity": "sha512-cj//bKo8+Frd/DM8l6Pg9pws1pnDUjgb7ae++sUX1kUVdv2nrngPykhiUOgFeE0LGY/LmUbCf4egCHC4YUcZSg==",
      "optional": true,
      "requires": {
        "execa": "^4.0.0",
        "is-png": "^2.0.0",
        "is-stream": "^2.0.0",
        "ow": "^0.17.0",
        "pngquant-bin": "^6.0.0"
      },
      "dependencies": {
        "cross-spawn": {
          "version": "7.0.6",
          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz",
          "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
          "optional": true,
          "requires": {
            "path-key": "^3.1.0",
            "shebang-command": "^2.0.0",
            "which": "^2.0.1"
          }
        },
        "execa": {
          "version": "4.1.0",
          "resolved": "https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz",
          "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
          "optional": true,
          "requires": {
            "cross-spawn": "^7.0.0",
            "get-stream": "^5.0.0",
            "human-signals": "^1.1.1",
            "is-stream": "^2.0.0",
            "merge-stream": "^2.0.0",
            "npm-run-path": "^4.0.0",
            "onetime": "^5.1.0",
            "signal-exit": "^3.0.2",
            "strip-final-newline": "^2.0.0"
          }
        },
        "get-stream": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz",
          "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
          "optional": true,
          "requires": {
            "pump": "^3.0.0"
          }
        },
        "is-stream": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
          "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
          "optional": true
        },
        "mimic-fn": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
          "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
          "optional": true
        },
        "npm-run-path": {
          "version": "4.0.1",
          "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
          "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
          "optional": true,
          "requires": {
            "path-key": "^3.0.0"
          }
        },
        "onetime": {
          "version": "5.1.2",
          "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
          "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
          "optional": true,
          "requires": {
            "mimic-fn": "^2.1.0"
          }
        },
        "path-key": {
          "version": "3.1.1",
          "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
          "optional": true
        },
        "shebang-command": {
          "version": "2.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
          "optional": true,
          "requires": {
            "shebang-regex": "^3.0.0"
          }
        },
        "shebang-regex": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
          "optional": true
        },
        "which": {
          "version": "2.0.2",
          "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
          "optional": true,
          "requires": {
            "isexe": "^2.0.0"
          }
        }
      }
    },
    "imagemin-svgo": {
      "version": "9.0.0",
      "resolved": "https://registry.npmmirror.com/imagemin-svgo/-/imagemin-svgo-9.0.0.tgz",
      "integrity": "sha512-uNgXpKHd99C0WODkrJ8OO/3zW3qjgS4pW7hcuII0RcHN3tnKxDjJWcitdVC/TZyfIqSricU8WfrHn26bdSW62g==",
      "optional": true,
      "requires": {
        "is-svg": "^4.2.1",
        "svgo": "^2.1.0"
      },
      "dependencies": {
        "commander": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz",
          "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
          "optional": true
        },
        "css-select": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz",
          "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
          "optional": true,
          "requires": {
            "boolbase": "^1.0.0",
            "css-what": "^6.0.1",
            "domhandler": "^4.3.1",
            "domutils": "^2.8.0",
            "nth-check": "^2.0.1"
          }
        },
        "css-tree": {
          "version": "1.1.3",
          "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz",
          "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
          "optional": true,
          "requires": {
            "mdn-data": "2.0.14",
            "source-map": "^0.6.1"
          }
        },
        "css-what": {
          "version": "6.2.2",
          "resolved": "https://registry.npmmirror.com/css-what/-/css-what-6.2.2.tgz",
          "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
          "optional": true
        },
        "csso": {
          "version": "4.2.0",
          "resolved": "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz",
          "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
          "optional": true,
          "requires": {
            "css-tree": "^1.1.2"
          }
        },
        "dom-serializer": {
          "version": "1.4.1",
          "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz",
          "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
          "optional": true,
          "requires": {
            "domelementtype": "^2.0.1",
            "domhandler": "^4.2.0",
            "entities": "^2.0.0"
          }
        },
        "domelementtype": {
          "version": "2.3.0",
          "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz",
          "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
          "optional": true
        },
        "domhandler": {
          "version": "4.3.1",
          "resolved": "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz",
          "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
          "optional": true,
          "requires": {
            "domelementtype": "^2.2.0"
          }
        },
        "domutils": {
          "version": "2.8.0",
          "resolved": "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz",
          "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
          "optional": true,
          "requires": {
            "dom-serializer": "^1.0.1",
            "domelementtype": "^2.2.0",
            "domhandler": "^4.2.0"
          }
        },
        "is-svg": {
          "version": "4.4.0",
          "resolved": "https://registry.npmmirror.com/is-svg/-/is-svg-4.4.0.tgz",
          "integrity": "sha512-v+AgVwiK5DsGtT9ng+m4mClp6zDAmwrW8nZi6Gg15qzvBnRWWdfWA1TGaXyCDnWq5g5asofIgMVl3PjKxvk1ug==",
          "optional": true,
          "requires": {
            "fast-xml-parser": "^4.1.3"
          }
        },
        "mdn-data": {
          "version": "2.0.14",
          "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz",
          "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
          "optional": true
        },
        "nth-check": {
          "version": "2.1.1",
          "resolved": "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz",
          "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
          "optional": true,
          "requires": {
            "boolbase": "^1.0.0"
          }
        },
        "source-map": {
          "version": "0.6.1",
          "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
          "optional": true
        },
        "svgo": {
          "version": "2.8.0",
          "resolved": "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz",
          "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
          "optional": true,
          "requires": {
            "@trysound/sax": "0.2.0",
            "commander": "^7.2.0",
            "css-select": "^4.1.3",
            "css-tree": "^1.1.3",
            "csso": "^4.2.0",
            "picocolors": "^1.0.0",
            "stable": "^0.1.8"
          }
        }
      }
    },
    "imagemin-webp": {
      "version": "7.0.0",
      "resolved": "https://registry.npmmirror.com/imagemin-webp/-/imagemin-webp-7.0.0.tgz",
      "integrity": "sha512-JoYjvHNgBLgrQAkeCO7T5iNc8XVpiBmMPZmiXMhalC7K6gwY/3DCEUfNxVPOmNJ+NIJlJFvzcMR9RBxIE74Xxw==",
      "optional": true,
      "requires": {
        "cwebp-bin": "^7.0.1",
        "exec-buffer": "^3.2.0",
        "is-cwebp-readable": "^3.0.0"
      }
    },
    "immediate": {
      "version": "3.0.6",
      "resolved": "https://mirrors.cloud.tencent.com/npm/immediate/-/immediate-3.0.6.tgz",
@@ -8389,6 +10199,12 @@
      "requires": {
        "resolve-from": "^3.0.0"
      }
    },
    "import-lazy": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/import-lazy/-/import-lazy-3.1.0.tgz",
      "integrity": "sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ==",
      "optional": true
    },
    "import-local": {
      "version": "1.0.0",
@@ -8453,6 +10269,12 @@
      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
    },
    "ini": {
      "version": "1.3.8",
      "resolved": "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz",
      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
      "optional": true
    },
    "internal-ip": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz",
@@ -8465,6 +10287,16 @@
      "version": "1.4.0",
      "resolved": "https://mirrors.cloud.tencent.com/npm/interpret/-/interpret-1.4.0.tgz",
      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
    },
    "into-stream": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/into-stream/-/into-stream-3.1.0.tgz",
      "integrity": "sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==",
      "optional": true,
      "requires": {
        "from2": "^2.1.1",
        "p-is-promise": "^1.1.0"
      }
    },
    "invariant": {
      "version": "2.2.4",
@@ -8565,6 +10397,23 @@
        "rgba-regex": "^1.0.0"
      }
    },
    "is-cwebp-readable": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/is-cwebp-readable/-/is-cwebp-readable-3.0.0.tgz",
      "integrity": "sha512-bpELc7/Q1/U5MWHn4NdHI44R3jxk0h9ew9ljzabiRl70/UIjL/ZAqRMb52F5+eke/VC8yTiv4Ewryo1fPWidvA==",
      "optional": true,
      "requires": {
        "file-type": "^10.5.0"
      },
      "dependencies": {
        "file-type": {
          "version": "10.11.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-10.11.0.tgz",
          "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==",
          "optional": true
        }
      }
    },
    "is-data-descriptor": {
      "version": "0.1.4",
      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -8645,6 +10494,23 @@
      "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz",
      "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
    },
    "is-gif": {
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/is-gif/-/is-gif-3.0.0.tgz",
      "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==",
      "optional": true,
      "requires": {
        "file-type": "^10.4.0"
      },
      "dependencies": {
        "file-type": {
          "version": "10.11.0",
          "resolved": "https://registry.npmmirror.com/file-type/-/file-type-10.11.0.tgz",
          "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==",
          "optional": true
        }
      }
    },
    "is-glob": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
@@ -8652,6 +10518,18 @@
      "requires": {
        "is-extglob": "^2.1.1"
      }
    },
    "is-jpg": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/is-jpg/-/is-jpg-2.0.0.tgz",
      "integrity": "sha512-ODlO0ruzhkzD3sdynIainVP5eoOFNN85rxA1+cwwnPe4dKyX0r5+hxNO5XpCrxlHcmb9vkOit9mhRD2JVuimHg==",
      "optional": true
    },
    "is-natural-number": {
      "version": "4.0.1",
      "resolved": "https://registry.npmmirror.com/is-natural-number/-/is-natural-number-4.0.1.tgz",
      "integrity": "sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==",
      "optional": true
    },
    "is-number": {
      "version": "3.0.0",
@@ -8681,6 +10559,12 @@
      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
      "dev": true
    },
    "is-object": {
      "version": "1.0.2",
      "resolved": "https://registry.npmmirror.com/is-object/-/is-object-1.0.2.tgz",
      "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==",
      "optional": true
    },
    "is-path-cwd": {
      "version": "1.0.0",
@@ -8716,6 +10600,12 @@
        "isobject": "^3.0.1"
      }
    },
    "is-png": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/is-png/-/is-png-2.0.0.tgz",
      "integrity": "sha512-4KPGizaVGj2LK7xwJIz8o5B2ubu1D/vcQsgOGFEDlpcvgZHto4gBnyd0ig7Ws+67ixmwKoNmu0hYnpo6AaKb5g==",
      "optional": true
    },
    "is-regex": {
      "version": "1.0.5",
      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
@@ -8729,6 +10619,12 @@
      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
      "dev": true
    },
    "is-retry-allowed": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz",
      "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==",
      "optional": true
    },
    "is-stream": {
      "version": "1.1.0",
@@ -8755,6 +10651,15 @@
      "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
      "requires": {
        "has-symbols": "^1.0.1"
      }
    },
    "is-typed-array": {
      "version": "1.1.15",
      "resolved": "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz",
      "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
      "optional": true,
      "requires": {
        "which-typed-array": "^1.1.16"
      }
    },
    "is-typedarray": {
@@ -8796,6 +10701,16 @@
      "version": "0.1.2",
      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
    },
    "isurl": {
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/isurl/-/isurl-1.0.0.tgz",
      "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
      "optional": true,
      "requires": {
        "has-to-string-tag-x": "^1.2.0",
        "is-object": "^1.0.1"
      }
    },
    "javascript-stringify": {
      "version": "1.6.0",
@@ -8986,6 +10901,11 @@
      "version": "0.1.0",
      "resolved": "https://mirrors.cloud.tencent.com/npm/jszip-utils/-/jszip-utils-0.1.0.tgz",
      "integrity": "sha512-tBNe0o3HAf8vo0BrOYnLPnXNo5A3KsRMnkBFYjh20Y3GPYGfgyoclEMgvVchx0nnL+mherPi74yLPIusHUQpZg=="
    },
    "junk": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/junk/-/junk-3.1.0.tgz",
      "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ=="
    },
    "keyv": {
      "version": "4.0.1",
@@ -9449,6 +11369,12 @@
      "resolved": "https://mirrors.cloud.tencent.com/npm/math-expression-evaluator/-/math-expression-evaluator-1.4.0.tgz",
      "integrity": "sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw=="
    },
    "math-intrinsics": {
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
      "optional": true
    },
    "mavon-editor": {
      "version": "2.9.0",
      "resolved": "https://registry.npmjs.org/mavon-editor/-/mavon-editor-2.9.0.tgz",
@@ -9539,14 +11465,12 @@
    "merge-stream": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
      "dev": true
      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
    },
    "merge2": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
      "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
      "dev": true
      "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw=="
    },
    "method-override": {
      "version": "3.0.0",
@@ -9795,6 +11719,16 @@
        "mkdirp": "^0.5.1",
        "rimraf": "^2.5.4",
        "run-queue": "^1.0.3"
      }
    },
    "mozjpeg": {
      "version": "7.1.1",
      "resolved": "https://registry.npmmirror.com/mozjpeg/-/mozjpeg-7.1.1.tgz",
      "integrity": "sha512-iIDxWvzhWvLC9mcRJ1uSkiKaj4drF58oCqK2bITm5c2Jt6cJ8qQjSSru2PCaysG+hLIinryj8mgz5ZJzOYTv1A==",
      "optional": true,
      "requires": {
        "bin-build": "^3.0.0",
        "bin-wrapper": "^4.0.0"
      }
    },
    "ms": {
@@ -10125,6 +12059,24 @@
      "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
      "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
    },
    "npm-conf": {
      "version": "1.1.3",
      "resolved": "https://registry.npmmirror.com/npm-conf/-/npm-conf-1.1.3.tgz",
      "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
      "optional": true,
      "requires": {
        "config-chain": "^1.1.11",
        "pify": "^3.0.0"
      },
      "dependencies": {
        "pify": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz",
          "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
          "optional": true
        }
      }
    },
    "npm-run-path": {
      "version": "2.0.2",
      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
@@ -10342,6 +12294,16 @@
        "is-wsl": "^1.1.0"
      }
    },
    "optipng-bin": {
      "version": "7.0.1",
      "resolved": "https://registry.npmmirror.com/optipng-bin/-/optipng-bin-7.0.1.tgz",
      "integrity": "sha512-W99mpdW7Nt2PpFiaO+74pkht7KEqkXkeRomdWXfEz3SALZ6hns81y/pm1dsGZ6ItUIfchiNIP6ORDr1zETU1jA==",
      "optional": true,
      "requires": {
        "bin-build": "^3.0.0",
        "bin-wrapper": "^4.0.0"
      }
    },
    "ora": {
      "version": "3.4.0",
      "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz",
@@ -10368,6 +12330,15 @@
      "version": "0.3.0",
      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
    },
    "os-filter-obj": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/os-filter-obj/-/os-filter-obj-2.0.0.tgz",
      "integrity": "sha512-uksVLsqG3pVdzzPvmAHpBK0wKxYItuzZr7SziusRPoz67tGV8rL1szZ6IdeUrbqLjGDwApBtN29eEE3IqGHOjg==",
      "optional": true,
      "requires": {
        "arch": "^2.1.0"
      }
    },
    "os-homedir": {
      "version": "1.0.2",
@@ -10396,15 +12367,47 @@
        "os-tmpdir": "^1.0.0"
      }
    },
    "ow": {
      "version": "0.17.0",
      "resolved": "https://registry.npmmirror.com/ow/-/ow-0.17.0.tgz",
      "integrity": "sha512-i3keDzDQP5lWIe4oODyDFey1qVrq2hXKTuTH2VpqwpYtzPiKZt2ziRI4NBQmgW40AnV5Euz17OyWweCb+bNEQA==",
      "optional": true,
      "requires": {
        "type-fest": "^0.11.0"
      },
      "dependencies": {
        "type-fest": {
          "version": "0.11.0",
          "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.11.0.tgz",
          "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
          "optional": true
        }
      }
    },
    "p-cancelable": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz",
      "integrity": "sha512-wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg=="
    },
    "p-event": {
      "version": "1.3.0",
      "resolved": "https://registry.npmmirror.com/p-event/-/p-event-1.3.0.tgz",
      "integrity": "sha512-hV1zbA7gwqPVFcapfeATaNjQ3J0NuzorHPyG8GPL9g/Y/TplWVBVoCKCXL6Ej2zscrCEv195QNWJXuBH6XZuzA==",
      "optional": true,
      "requires": {
        "p-timeout": "^1.1.1"
      }
    },
    "p-finally": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
    },
    "p-is-promise": {
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/p-is-promise/-/p-is-promise-1.1.0.tgz",
      "integrity": "sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==",
      "optional": true
    },
    "p-limit": {
      "version": "1.3.0",
@@ -10427,6 +12430,26 @@
      "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
      "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA=="
    },
    "p-map-series": {
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/p-map-series/-/p-map-series-1.0.0.tgz",
      "integrity": "sha512-4k9LlvY6Bo/1FcIdV33wqZQES0Py+iKISU9Uc8p8AjWoZPnFKMpVIVD3s0EYn4jzLh1I+WeUZkJ0Yoa4Qfw3Kg==",
      "optional": true,
      "requires": {
        "p-reduce": "^1.0.0"
      }
    },
    "p-pipe": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/p-pipe/-/p-pipe-3.1.0.tgz",
      "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw=="
    },
    "p-reduce": {
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/p-reduce/-/p-reduce-1.0.0.tgz",
      "integrity": "sha512-3Tx1T3oM1xO/Y8Gj0sWyE78EIJZ+t+aEmXUdvQgvGmSMri7aPTHoovbXEreWKkL5j21Er60XAWLTzKbAKYOujQ==",
      "optional": true
    },
    "p-retry": {
      "version": "3.0.1",
      "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz",
@@ -10434,6 +12457,15 @@
      "dev": true,
      "requires": {
        "retry": "^0.12.0"
      }
    },
    "p-timeout": {
      "version": "1.2.1",
      "resolved": "https://registry.npmmirror.com/p-timeout/-/p-timeout-1.2.1.tgz",
      "integrity": "sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==",
      "optional": true,
      "requires": {
        "p-finally": "^1.0.0"
      }
    },
    "p-try": {
@@ -10642,11 +12674,21 @@
      "resolved": "https://mirrors.cloud.tencent.com/npm/photoswipe/-/photoswipe-4.1.3.tgz",
      "integrity": "sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA=="
    },
    "picocolors": {
      "version": "1.1.1",
      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
      "optional": true
    },
    "picomatch": {
      "version": "2.3.1",
      "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
    },
    "pify": {
      "version": "4.0.1",
      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
      "dev": true
      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
    },
    "pinkie": {
      "version": "2.0.4",
@@ -10786,6 +12828,116 @@
      "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
      "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
    },
    "pngquant-bin": {
      "version": "6.0.1",
      "resolved": "https://registry.npmmirror.com/pngquant-bin/-/pngquant-bin-6.0.1.tgz",
      "integrity": "sha512-Q3PUyolfktf+hYio6wsg3SanQzEU/v8aICg/WpzxXcuCMRb7H2Q81okfpcEztbMvw25ILjd3a87doj2N9kvbpQ==",
      "optional": true,
      "requires": {
        "bin-build": "^3.0.0",
        "bin-wrapper": "^4.0.1",
        "execa": "^4.0.0"
      },
      "dependencies": {
        "cross-spawn": {
          "version": "7.0.6",
          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz",
          "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
          "optional": true,
          "requires": {
            "path-key": "^3.1.0",
            "shebang-command": "^2.0.0",
            "which": "^2.0.1"
          }
        },
        "execa": {
          "version": "4.1.0",
          "resolved": "https://registry.npmmirror.com/execa/-/execa-4.1.0.tgz",
          "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
          "optional": true,
          "requires": {
            "cross-spawn": "^7.0.0",
            "get-stream": "^5.0.0",
            "human-signals": "^1.1.1",
            "is-stream": "^2.0.0",
            "merge-stream": "^2.0.0",
            "npm-run-path": "^4.0.0",
            "onetime": "^5.1.0",
            "signal-exit": "^3.0.2",
            "strip-final-newline": "^2.0.0"
          }
        },
        "get-stream": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz",
          "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
          "optional": true,
          "requires": {
            "pump": "^3.0.0"
          }
        },
        "is-stream": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
          "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
          "optional": true
        },
        "mimic-fn": {
          "version": "2.1.0",
          "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
          "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
          "optional": true
        },
        "npm-run-path": {
          "version": "4.0.1",
          "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
          "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
          "optional": true,
          "requires": {
            "path-key": "^3.0.0"
          }
        },
        "onetime": {
          "version": "5.1.2",
          "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
          "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
          "optional": true,
          "requires": {
            "mimic-fn": "^2.1.0"
          }
        },
        "path-key": {
          "version": "3.1.1",
          "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
          "optional": true
        },
        "shebang-command": {
          "version": "2.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
          "optional": true,
          "requires": {
            "shebang-regex": "^3.0.0"
          }
        },
        "shebang-regex": {
          "version": "3.0.0",
          "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
          "optional": true
        },
        "which": {
          "version": "2.0.2",
          "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
          "optional": true,
          "requires": {
            "isexe": "^2.0.0"
          }
        }
      }
    },
    "popper.js": {
      "version": "1.16.1",
      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
@@ -10820,6 +12972,12 @@
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
    },
    "possible-typed-array-names": {
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
      "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
      "optional": true
    },
    "postcss": {
      "version": "7.0.29",
@@ -12026,6 +14184,12 @@
      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
      "dev": true
    },
    "proto-list": {
      "version": "1.2.4",
      "resolved": "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz",
      "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==",
      "optional": true
    },
    "proxy-addr": {
      "version": "2.0.6",
      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
@@ -12212,6 +14376,11 @@
      "version": "2.1.1",
      "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
      "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA=="
    },
    "queue-microtask": {
      "version": "1.2.3",
      "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz",
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
    },
    "quick-lru": {
      "version": "5.1.0",
@@ -12582,6 +14751,11 @@
        "is-finite": "^1.0.0"
      }
    },
    "replace-ext": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/replace-ext/-/replace-ext-1.0.1.tgz",
      "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw=="
    },
    "request": {
      "version": "2.88.2",
      "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
@@ -12765,6 +14939,11 @@
      "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
      "dev": true
    },
    "reusify": {
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.1.0.tgz",
      "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw=="
    },
    "rework": {
      "version": "1.0.1",
      "resolved": "https://mirrors.cloud.tencent.com/npm/rework/-/rework-1.0.1.tgz",
@@ -12826,6 +15005,14 @@
      "requires": {
        "hash-base": "^3.0.0",
        "inherits": "^2.0.1"
      }
    },
    "run-parallel": {
      "version": "1.2.0",
      "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz",
      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
      "requires": {
        "queue-microtask": "^1.2.2"
      }
    },
    "run-queue": {
@@ -13054,6 +15241,15 @@
        }
      }
    },
    "seek-bzip": {
      "version": "1.0.6",
      "resolved": "https://registry.npmmirror.com/seek-bzip/-/seek-bzip-1.0.6.tgz",
      "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==",
      "optional": true,
      "requires": {
        "commander": "^2.8.1"
      }
    },
    "select-hose": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@@ -13071,6 +15267,21 @@
      "version": "5.7.1",
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
    },
    "semver-regex": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/semver-regex/-/semver-regex-2.0.0.tgz",
      "integrity": "sha512-mUdIBBvdn0PLOeP3TEkMH7HHeUP3GjsXCwKarjv/kGmUFOYg1VqEemKhoQpWMu6X2I8kHeuVdGibLGkVK+/5Qw==",
      "optional": true
    },
    "semver-truncate": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/semver-truncate/-/semver-truncate-1.1.2.tgz",
      "integrity": "sha512-V1fGg9i4CL3qesB6U0L6XAm4xOJiHmt4QAacazumuasc03BvtFGIMCduv01JWQ69Nv+JST9TqhSCiJoxoY031w==",
      "optional": true,
      "requires": {
        "semver": "^5.3.0"
      }
    },
    "send": {
      "version": "0.17.1",
@@ -13224,6 +15435,52 @@
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
    },
    "set-function-length": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz",
      "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
      "optional": true,
      "requires": {
        "define-data-property": "^1.1.4",
        "es-errors": "^1.3.0",
        "function-bind": "^1.1.2",
        "get-intrinsic": "^1.2.4",
        "gopd": "^1.0.1",
        "has-property-descriptors": "^1.0.2"
      },
      "dependencies": {
        "function-bind": {
          "version": "1.1.2",
          "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
          "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
          "optional": true
        },
        "get-intrinsic": {
          "version": "1.3.0",
          "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
          "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
          "optional": true,
          "requires": {
            "call-bind-apply-helpers": "^1.0.2",
            "es-define-property": "^1.0.1",
            "es-errors": "^1.3.0",
            "es-object-atoms": "^1.1.1",
            "function-bind": "^1.1.2",
            "get-proto": "^1.0.1",
            "gopd": "^1.2.0",
            "has-symbols": "^1.1.0",
            "hasown": "^2.0.2",
            "math-intrinsics": "^1.1.0"
          }
        },
        "has-symbols": {
          "version": "1.1.0",
          "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
          "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
          "optional": true
        }
      }
    },
    "set-value": {
      "version": "2.0.1",
@@ -13486,6 +15743,15 @@
        "is-plain-obj": "^1.0.0"
      }
    },
    "sort-keys-length": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
      "integrity": "sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==",
      "optional": true,
      "requires": {
        "sort-keys": "^1.0.0"
      }
    },
    "sortablejs": {
      "version": "1.10.2",
      "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz",
@@ -13668,8 +15934,7 @@
    "stable": {
      "version": "0.1.8",
      "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
      "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
      "dev": true
      "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
    },
    "stackframe": {
      "version": "1.1.1",
@@ -13877,6 +16142,15 @@
        "is-utf8": "^0.2.0"
      }
    },
    "strip-dirs": {
      "version": "2.1.0",
      "resolved": "https://registry.npmmirror.com/strip-dirs/-/strip-dirs-2.1.0.tgz",
      "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
      "optional": true,
      "requires": {
        "is-natural-number": "^4.0.1"
      }
    },
    "strip-eof": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
@@ -13885,8 +16159,7 @@
    "strip-final-newline": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
      "dev": true
      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
    },
    "strip-indent": {
      "version": "1.0.1",
@@ -13895,6 +16168,21 @@
      "requires": {
        "get-stdin": "^4.0.1"
      }
    },
    "strip-outer": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/strip-outer/-/strip-outer-1.0.1.tgz",
      "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
      "optional": true,
      "requires": {
        "escape-string-regexp": "^1.0.2"
      }
    },
    "strnum": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/strnum/-/strnum-1.1.2.tgz",
      "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
      "optional": true
    },
    "style-loader": {
      "version": "0.19.1",
@@ -14058,6 +16346,22 @@
        "source-map-support": "^0.5.3"
      }
    },
    "temp-dir": {
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/temp-dir/-/temp-dir-1.0.0.tgz",
      "integrity": "sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==",
      "optional": true
    },
    "tempfile": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/tempfile/-/tempfile-2.0.0.tgz",
      "integrity": "sha512-ZOn6nJUgvgC09+doCEF3oB+r3ag7kUvlsXEGX069QRD60p+P3uP7XG9N2/at+EyIRGSN//ZY3LyEotA1YpmjuA==",
      "optional": true,
      "requires": {
        "temp-dir": "^1.0.0",
        "uuid": "^3.0.1"
      }
    },
    "terser": {
      "version": "4.6.13",
      "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz",
@@ -14172,6 +16476,12 @@
      "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
      "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
    },
    "timed-out": {
      "version": "4.0.1",
      "resolved": "https://registry.npmmirror.com/timed-out/-/timed-out-4.0.1.tgz",
      "integrity": "sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==",
      "optional": true
    },
    "timers-browserify": {
      "version": "2.0.11",
      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
@@ -14200,6 +16510,31 @@
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
    },
    "to-buffer": {
      "version": "1.2.2",
      "resolved": "https://registry.npmmirror.com/to-buffer/-/to-buffer-1.2.2.tgz",
      "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==",
      "optional": true,
      "requires": {
        "isarray": "^2.0.5",
        "safe-buffer": "^5.2.1",
        "typed-array-buffer": "^1.0.3"
      },
      "dependencies": {
        "isarray": {
          "version": "2.0.5",
          "resolved": "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz",
          "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
          "optional": true
        },
        "safe-buffer": {
          "version": "5.2.1",
          "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
          "optional": true
        }
      }
    },
    "to-fast-properties": {
      "version": "2.0.0",
@@ -14275,6 +16610,15 @@
      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
    },
    "trim-repeated": {
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/trim-repeated/-/trim-repeated-1.0.0.tgz",
      "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==",
      "optional": true,
      "requires": {
        "escape-string-regexp": "^1.0.2"
      }
    },
    "trim-right": {
      "version": "1.0.1",
      "resolved": "https://mirrors.cloud.tencent.com/npm/trim-right/-/trim-right-1.0.1.tgz",
@@ -14344,6 +16688,17 @@
      "requires": {
        "media-typer": "0.3.0",
        "mime-types": "~2.1.24"
      }
    },
    "typed-array-buffer": {
      "version": "1.0.3",
      "resolved": "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
      "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
      "optional": true,
      "requires": {
        "call-bound": "^1.0.3",
        "es-errors": "^1.3.0",
        "is-typed-array": "^1.1.14"
      }
    },
    "typedarray": {
@@ -14647,6 +17002,21 @@
        "querystringify": "^2.1.1",
        "requires-port": "^1.0.0"
      }
    },
    "url-parse-lax": {
      "version": "1.0.0",
      "resolved": "https://registry.npmmirror.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
      "integrity": "sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==",
      "optional": true,
      "requires": {
        "prepend-http": "^1.0.1"
      }
    },
    "url-to-options": {
      "version": "1.0.1",
      "resolved": "https://registry.npmmirror.com/url-to-options/-/url-to-options-1.0.1.tgz",
      "integrity": "sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==",
      "optional": true
    },
    "use": {
      "version": "3.1.1",
@@ -15771,6 +18141,14 @@
        "schart.js": "^2.0.0"
      }
    },
    "vue-seamless-scroll": {
      "version": "1.1.23",
      "resolved": "https://registry.npmmirror.com/vue-seamless-scroll/-/vue-seamless-scroll-1.1.23.tgz",
      "integrity": "sha512-HBjUub8WwsKJzbFCrwKPDrZn4e+SSbkKgwWtjKtfLwesiFGwSsVxP44/Z6d3kpXy94qIFOiflJH6l0/9pj7SGA==",
      "requires": {
        "comutils": "^1.1.9"
      }
    },
    "vue-style-loader": {
      "version": "4.1.2",
      "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
@@ -16173,6 +18551,11 @@
      "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
      "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
    },
    "weixin-js-sdk": {
      "version": "1.6.5",
      "resolved": "https://registry.npmmirror.com/weixin-js-sdk/-/weixin-js-sdk-1.6.5.tgz",
      "integrity": "sha512-Gph1WAWB2YN/lMOFB/ymb+hbU/wYazzJgu6PMMktCy9cSCeW5wA6Zwt0dpahJbJ+RJEwtTv2x9iIu0U4enuVSQ=="
    },
    "whet.extend": {
      "version": "0.9.9",
      "resolved": "https://mirrors.cloud.tencent.com/npm/whet.extend/-/whet.extend-0.9.9.tgz",
@@ -16191,6 +18574,65 @@
      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
    },
    "which-typed-array": {
      "version": "1.1.19",
      "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.19.tgz",
      "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
      "optional": true,
      "requires": {
        "available-typed-arrays": "^1.0.7",
        "call-bind": "^1.0.8",
        "call-bound": "^1.0.4",
        "for-each": "^0.3.5",
        "get-proto": "^1.0.1",
        "gopd": "^1.2.0",
        "has-tostringtag": "^1.0.2"
      },
      "dependencies": {
        "call-bind": {
          "version": "1.0.8",
          "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz",
          "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
          "optional": true,
          "requires": {
            "call-bind-apply-helpers": "^1.0.0",
            "es-define-property": "^1.0.0",
            "get-intrinsic": "^1.2.4",
            "set-function-length": "^1.2.2"
          }
        },
        "function-bind": {
          "version": "1.1.2",
          "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
          "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
          "optional": true
        },
        "get-intrinsic": {
          "version": "1.3.0",
          "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
          "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
          "optional": true,
          "requires": {
            "call-bind-apply-helpers": "^1.0.2",
            "es-define-property": "^1.0.1",
            "es-errors": "^1.3.0",
            "es-object-atoms": "^1.1.1",
            "function-bind": "^1.1.2",
            "get-proto": "^1.0.1",
            "gopd": "^1.2.0",
            "has-symbols": "^1.1.0",
            "hasown": "^2.0.2",
            "math-intrinsics": "^1.1.0"
          }
        },
        "has-symbols": {
          "version": "1.1.0",
          "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
          "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
          "optional": true
        }
      }
    },
    "wide-align": {
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
package.json
@@ -17,6 +17,7 @@
    "echarts": "^4.9.0",
    "element-ui": "^2.13.1",
    "file-saver": "^2.0.5",
    "image-webpack-loader": "^8.1.0",
    "jquery": "^3.5.1",
    "jszip-utils": "^0.1.0",
    "mavon-editor": "^2.6.17",
@@ -34,9 +35,11 @@
    "vue-quill-editor": "^3.0.6",
    "vue-router": "^3.0.1",
    "vue-schart": "^1.0.0",
    "vue-seamless-scroll": "^1.1.23",
    "vuedraggable": "^2.17.0",
    "vuex": "^3.6.2",
    "webpack-dev-server": "^2.9.1"
    "webpack-dev-server": "^2.9.1",
    "weixin-js-sdk": "^1.6.5"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.9.0",
public/index.html
@@ -1,17 +1,26 @@
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
    <title>峰峰矿区智慧停车</title>
  </head>
  <body>
    <div id="app"></div>
  </body>
<!--  <script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>-->
<!--  <script>-->
<!--      // VConsole 默认会挂载到 `window.VConsole` 上-->
<!--      var vConsole = new window.VConsole();-->
<!--  </script>-->
</html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
  <title>峰峰矿区智慧停车</title>
  <!-- 样式文件放head,正常加载 -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/element-ui@2.15.14/lib/theme-chalk/index.css">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/view-design@4.7.0/dist/styles/iview.css">
</head>
<body>
  <div id="app"></div>
  <!-- 1. 先加载 Vue(所有UI库的基础) -->
  <script src="https://cdn.jsdelivr.net/npm/vue@2.7.16/dist/vue.min.js"></script>
  <!-- 2. 再加载 ElementUI -->
  <script src="https://cdn.jsdelivr.net/npm/element-ui@2.15.14/lib/index.js"></script>
  <!-- 3. 再加载 ViewUI -->
  <script src="https://cdn.jsdelivr.net/npm/view-design@4.7.0/dist/iview.min.js"></script>
  <!-- 4. 最后加载 ECharts -->
  <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.3/dist/echarts.min.js"></script>
</body>
</html>
src/main copy.js
New file
@@ -0,0 +1,158 @@
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios';
import qs from 'qs'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
import './assets/css/fonts/iconfont.css'
// import '../static/css/theme-green/index.css';       // 浅绿色主题
import './assets/css/icon.css';
import './components/common/directives';
import "babel-polyfill";
import ByUtils, {byUtils} from './assets/js/ByUtils'
import StringUtil from './assets/js/StringUtil'
import TscPrintUtil from './assets/js/TscPrintUtil'
import Print from './assets/js/print'
import moment from 'moment'
import store from './store/index' // 引入vuex
Vue.prototype.$moment = moment;
Vue.use(Print) // 注册
import ViewUI from 'view-design';
import 'lib-flexible'
// import style
import 'view-design/dist/styles/iview.css';
import preview from 'vue-photo-preview'
//preview的参数
var option = {
    minZoom:0.3,
    maxSpreadZoom: 20, // 控制预览图最大的倍数,默认是2倍,我这里改成了原图
    fullscreenEl: false, //控制是否显示右上角全屏按钮
    closeEl: true, //控制是否显示右上角关闭按钮
    tapToClose: true, //点击滑动区域应关闭图库
    shareEl: false, //控制是否显示分享按钮
    zoomEl: true, //控制是否显示放大缩小按钮
    counterEl: true, //控制是否显示左上角图片数量按钮
    arrowEl: true,  //控制如图的左右箭头(pc浏览器模拟手机时)
    tapToToggleControls: true, //点击应切换控件的可见性
    allowPanToNext:true, //当前项目缩放时,允许滑动到下一个/上一个项目
    clickToCloseNonZoomable: false,//点击图片应关闭图库,仅当图像小于视口的大小时
    closeOnVerticalDrag:false,//垂直拖动和未缩放图像时,请关闭图库
    pinchToClose:false,//捏以关闭画廊手势
    getDoubleTapZoom:()=>1 //函数应返回缩放级别,在双击手势后,用户单击缩放图标或鼠标单击图像本身时,图像将缩放到该级别
}
Vue.use(preview,option)
Vue.use(ViewUI);
Vue.config.productionTip = false
Vue.use(ElementUI);
import echarts from 'echarts'
Vue.prototype.$echarts = echarts;
import '@/utils/lib-fiexible'
import {getStore,setStore,removeStore} from "./libs/store";
Vue.prototype.getStore = getStore
Vue.prototype.setStore = setStore
Vue.prototype.removeStore = removeStore
Vue.prototype.$axios = axios;
axios.defaults.withCredentials = true
// 对提交的数据进行json序列化,可能存在问题,暂时未发现什么问题
axios.interceptors.request.use((config) => {
    if (config.method === 'post') {
        config.data = qs.stringify(config.data)
    }
    if (config.method === 'get') {
        config.data = qs.stringify(config.data)
    }
    console.log(config.data)
    return config
})
// 配置文件
Vue.prototype.$systemconfig = {
// 服务端路径
    // basePath: 'http://183.196.93.178:8089',
    basePath:'http://192.168.0.147:8089'
}
Vue.prototype.$byutil = byUtils
Vue.prototype.$stringUtil = StringUtil
Vue.prototype.$tscPrintUtil = TscPrintUtil
// const rolesList = JSON.parse(localStorage.getItem('userRouters'))
//使用钩子函数对路由进行权限跳转
router.beforeEach((to,from,next) => {
    if(to.meta.title === '峰峰矿区智慧停车') {
       document.title = to.meta.title
   }
    next();
})
//    console.log(to,"触发了",router.options.routes);
//    // type 2 : all admin
//    // type 0 :  泊车 id:2
//    // type 1 :  执法 id:3
//    next();
//         //
//     // if (to.path==='/login') {
//     //     byUtils.setUser(null)
//     // }
//     // let user = byUtils.getUser()
//     // console.log(user)
//     // if (!user && to.path !== '/login') {
//     //     next('/login');
//     // } else if (to.meta.permission) {
//     //     // 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已
//     //     role === 'admin' ? next() : next('/403');
//     // } else {
//         // 简单的判断IE10及以下不进入富文本编辑器,该组件不兼容
//         if (navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor') {
//             Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器,请使用更高版本的浏览器查看', '浏览器不兼容通知', {
//                 confirmButtonText: '确定'
//             });
//         } else {
//             next();
//         }
//     // }
// })
// router.beforeEach((to, from, next) => {
//     if(!sessionStorage.accessToken){
//         router.push({'path': '/'});
//     }
// })
// router.beforeEach((to, from, next) => {
//     if (to.path === '/login') {
//         next();
//     } else {
//         //sessionStorage.accessToken
//         let token = localStorage.getItem('userId');
//         if(token){
//             if (token==null) {
//                 next('/login');
//             } else {
//                 if(token == ''){
//                     next('/login');
//                 }else{
//                     next();
//                 }
//             }
//         }else{
//             next('/login');
//         }
//     }
// });
new Vue({
    router,
    store,
    render: h => h(App)
}).$mount('#app')
src/main.js
@@ -3,10 +3,16 @@
import router from './router'
import axios from 'axios';
import qs from 'qs'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
// ===================== 【删除下面3行】UI库本地引入 =====================
// import ElementUI from 'element-ui';
// import 'element-ui/lib/theme-chalk/index.css';
// import ViewUI from 'view-design';
// import 'view-design/dist/styles/iview.css';
// import echarts from 'echarts';
// ======================================================================
import './assets/css/fonts/iconfont.css'
// import '../static/css/theme-green/index.css';       // 浅绿色主题
import './assets/css/icon.css';
import './components/common/directives';
import "babel-polyfill";
@@ -17,43 +23,43 @@
import moment from 'moment'
import store from './store/index' // 引入vuex
Vue.prototype.$moment = moment;
Vue.use(Print) // 注册
import ViewUI from 'view-design';
Vue.use(Print)
import 'lib-flexible'
// import style
import 'view-design/dist/styles/iview.css';
import preview from 'vue-photo-preview'
//preview的参数
var option = {
    minZoom:0.3,
    maxSpreadZoom: 20, // 控制预览图最大的倍数,默认是2倍,我这里改成了原图
    fullscreenEl: false, //控制是否显示右上角全屏按钮
    closeEl: true, //控制是否显示右上角关闭按钮
    tapToClose: true, //点击滑动区域应关闭图库
    shareEl: false, //控制是否显示分享按钮
    zoomEl: true, //控制是否显示放大缩小按钮
    counterEl: true, //控制是否显示左上角图片数量按钮
    arrowEl: true,  //控制如图的左右箭头(pc浏览器模拟手机时)
    tapToToggleControls: true, //点击应切换控件的可见性
    allowPanToNext:true, //当前项目缩放时,允许滑动到下一个/上一个项目
    clickToCloseNonZoomable: false,//点击图片应关闭图库,仅当图像小于视口的大小时
    closeOnVerticalDrag:false,//垂直拖动和未缩放图像时,请关闭图库
    pinchToClose:false,//捏以关闭画廊手势
    getDoubleTapZoom:()=>1 //函数应返回缩放级别,在双击手势后,用户单击缩放图标或鼠标单击图像本身时,图像将缩放到该级别
    maxSpreadZoom: 20,
    fullscreenEl: false,
    closeEl: true,
    tapToClose: true,
    shareEl: false,
    zoomEl: true,
    counterEl: true,
    arrowEl: true,
    tapToToggleControls: true,
    allowPanToNext:true,
    clickToCloseNonZoomable: false,
    closeOnVerticalDrag:false,
    pinchToClose:false,
    getDoubleTapZoom:()=>1
}
Vue.use(preview,option)
Vue.use(ViewUI);
Vue.config.productionTip = false
Vue.use(ElementUI);
// ===================== 【保留】全局注册UI库(CDN全局变量) =====================
// Vue.use(ElementUI);
// Vue.use(ViewUI);
// ===========================================================================
import echarts from 'echarts'
Vue.prototype.$echarts = echarts;
Vue.config.productionTip = false
// ===================== 【保留】ECharts 全局挂载(CDN全局变量) =====================
// Vue.prototype.$echarts = echarts;
// ===============================================================================
import '@/utils/lib-fiexible'
import {getStore,setStore,removeStore} from "./libs/store";
Vue.prototype.getStore = getStore
@@ -62,7 +68,7 @@
Vue.prototype.$axios = axios;
axios.defaults.withCredentials = true
// 对提交的数据进行json序列化,可能存在问题,暂时未发现什么问题
// 对提交的数据进行json序列化
axios.interceptors.request.use((config) => {
    if (config.method === 'post') {
        config.data = qs.stringify(config.data)
@@ -70,20 +76,21 @@
    if (config.method === 'get') {
        config.data = qs.stringify(config.data)
    }
    console.log(config.data)
    // 生产环境建议注释 console.log
    // console.log(config.data)
    return config
})
// 配置文件
Vue.prototype.$systemconfig = {
// 服务端路径
    basePath: 'http://183.196.93.178:8089',
    // basePath:'http://127.0.0.1:8089'
    basePath:'http://183.196.93.178:8089'
    // basePath:'http://192.168.0.147:8089'
}
Vue.prototype.$byutil = byUtils
Vue.prototype.$stringUtil = StringUtil
Vue.prototype.$tscPrintUtil = TscPrintUtil
// const rolesList = JSON.parse(localStorage.getItem('userRouters'))
//使用钩子函数对路由进行权限跳转
// 路由守卫
router.beforeEach((to,from,next) => {
    if(to.meta.title === '峰峰矿区智慧停车') {
       document.title = to.meta.title
@@ -91,68 +98,8 @@
    next();
})
//    console.log(to,"触发了",router.options.routes);
//    // type 2 : all admin
//    // type 0 :  泊车 id:2
//    // type 1 :  执法 id:3
//    next();
//         //
//     // if (to.path==='/login') {
//     //     byUtils.setUser(null)
//     // }
//     // let user = byUtils.getUser()
//     // console.log(user)
//     // if (!user && to.path !== '/login') {
//     //     next('/login');
//     // } else if (to.meta.permission) {
//     //     // 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已
//     //     role === 'admin' ? next() : next('/403');
//     // } else {
//         // 简单的判断IE10及以下不进入富文本编辑器,该组件不兼容
//         if (navigator.userAgent.indexOf('MSIE') > -1 && to.path === '/editor') {
//             Vue.prototype.$alert('vue-quill-editor组件不兼容IE10及以下浏览器,请使用更高版本的浏览器查看', '浏览器不兼容通知', {
//                 confirmButtonText: '确定'
//             });
//         } else {
//             next();
//         }
//     // }
// })
// router.beforeEach((to, from, next) => {
//     if(!sessionStorage.accessToken){
//         router.push({'path': '/'});
//     }
// })
// router.beforeEach((to, from, next) => {
//     if (to.path === '/login') {
//         next();
//     } else {
//         //sessionStorage.accessToken
//         let token = localStorage.getItem('userId');
//         if(token){
//             if (token==null) {
//                 next('/login');
//             } else {
//                 if(token == ''){
//                     next('/login');
//                 }else{
//                     next();
//                 }
//             }
//         }else{
//             next('/login');
//         }
//     }
// });
new Vue({
    router,
    store,
    render: h => h(App)
}).$mount('#app')
}).$mount('#app')
src/router/index copy.js
New file
@@ -0,0 +1,234 @@
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({
    routes: [
        {
            path: '/',
            redirect: '/login'
        },
        {
            path: '/home',
            component: resolve => require(['../components/common/Home.vue'], resolve),
            meta: { title: '首页' },
            children:[
                {
                    path: '/inspectionRegistration',
                    component: resolve => require(['../components/page/inspectionRegistration/index.vue'], resolve),
                    meta: { title: '巡检登记' }
                },
                {
                    path: '/repairAndMaintenance',
                    component: resolve => require(['../components/page/repairAndMaintenance/index.vue'], resolve),
                    meta: { title: '维修维护管理软件' }
                },
                {
                    path: '/user',
                    component: resolve => require(['../components/page/user/index.vue'], resolve),
                    meta: { title: '人员管理' }
                },
                {
                    path: '/park',
                    component: resolve => require(['../components/page/park/index.vue'], resolve),
                    meta: { title: '停车场管理' }
                },
                {
                    path: '/enterPark',
                    component: resolve => require(['../components/page/enterpark/index.vue'], resolve),
                    meta: { title: '车辆入场管理' }
                },
                {
                    path: '/outPark',
                    component: resolve => require(['../components/page/outPark/index.vue'], resolve),
                    meta: { title: '车辆出场管理' }
                },
                {
                    path: '/barrierOpenLog',
                    component: resolve => require(['../components/page/barrieropenlog/index.vue'], resolve),
                    meta: { title: '手动抬杆记录' }
                },
                {
                    path: '/enterParkCar',
                    component: resolve => require(['../components/page/enterParkCar/index.vue'], resolve),
                    meta: { title: '场内车辆管理' }
                },
                {
                    path: '/ticketBlack',
                    component: resolve => require(['../components/page/ticketBlack/index.vue'], resolve),
                    meta: { title: '黑名单管理' }
                },
                {
                    path: '/parkticket',
                    component: resolve => require(['../components/page/parkticket/index.vue'], resolve),
                    meta: { title: '泊车发票管理' }
                },
                {
                    path: '/whiteListRule',
                    component: resolve => require(['../components/page/whiteListRule/index.vue'], resolve),
                    meta: { title: '月票车规则管理' }
                },
                {
                    path: '/paymentLog',
                    component: resolve => require(['../components/page/paymentLog/index.vue'], resolve),
                    meta: { title: '缴费日志管理' }
                },
                {
                    path: '/whiteList',
                    component: resolve => require(['../components/page/whiteList/index.vue'], resolve),
                    meta: { title: '白名单' }
                },
                {
                    path: '/costRule',
                    component: resolve => require(['../components/page/costRule/index.vue'], resolve),
                    meta: { title: '收费规则管理' }
                },
                {
                    path: '/orderRecord',
                    component: resolve => require(['../components/page/orderRecord/index.vue'], resolve),
                    meta: { title: '订单统计' }
                },
                {
                    path: '/orderRecordDay',
                    component: resolve => require(['../components/page/orderRecord/indexDay.vue'], resolve),
                    meta: { title: '订单统计详情' }
                },
                {
                    path: '/violationType',
                    component: resolve => require(['../components/page/violationType/index.vue'], resolve),
                    meta: { title: '违章类型管理' }
                },
                {
                    path: '/ticket',
                    component: resolve => require(['../components/page/ticket/index.vue'], resolve),
                    meta: { title: '罚单管理' }
                },
                {
                    path: '/zfticket',
                    component: resolve => require(['../components/page/zfticket/index.vue'], resolve),
                    meta: { title: '罚没发票管理' }
                },
                {
                    path: '/street',
                    component: resolve => require(['../components/page/street/index.vue'], resolve),
                    meta: { title: '街道管理' }
                },
            ]
        },
        {
            path: '/list',
            component: resolve => require(['../components/common/List.vue'], resolve),
            meta: { title: '首页' }
        },
        {
            path: '/login',
            component: resolve => require(['../components/page/Login.vue'], resolve)
        },
        {
            path: '/index',
            component: resolve => require(['../components/page/Index.vue'], resolve),
            meta: { title: '违章停车' }
        },
        // {
        //     path: '/index2',
        //     component: resolve => require(['../components/page/Index2.vue'], resolve),
        //     meta: { title: '智慧泊车' }
        // },
        {
            path: '/index2',
            component: resolve => require(['../components/page/IndexXTYH.vue'], resolve),
            meta: { title: '峰峰矿区智慧停车' }
        },
        {
            path: '/IndexXTYH39',
            component: resolve => require(['../components/page/IndexXTYH39.vue'], resolve),
            meta: { title: '峰峰矿区智慧停车' }
        },
        {
            path: '/indexOk',
            component: resolve => require(['../components/page/IndexOk.vue'], resolve),
            meta: { title: '智慧泊车' }
        },
        {
            path: '/indexFail',
            component: resolve => require(['../components/page/IndexFail.vue'], resolve),
            meta: { title: '智慧泊车' }
        },
        {
            path: '/index3',
            component: resolve => require(['../components/page/Index2.vue'], resolve),
            meta: { title: '无牌停车' }
        },
        {
            path: '/index4',
            component: resolve => require(['../components/page/Index4.vue'], resolve),
            meta: { title: '无牌入场' }
        },
        {
            path: '/index5',
            component: resolve => require(['../components/page/Index5.vue'], resolve),
            meta: { title: '罚没缴费' }
        },
        {
            path: '/indexTest',
            component: resolve => require(['../components/page/IndexTest.vue'], resolve),
            meta: { title: '邮储测试' }
        },
        {
            path: '/invoice',
            component: resolve => require(['../components/page/invoice/index.vue'], resolve),
            meta: { title: '发票' }
        },
        {
            path: '/invoiceForm',
            component: resolve => require(['../components/page/invoice/invoiceForm.vue'], resolve),
            meta: { title: '发票' }
        },
        {
            path: '/invoiceDetail',
            component: resolve => require(['../components/page/invoice/invoiceDetail'], resolve),
            meta: {title: '订单详情'}
        },
        {
            path: '/middlePge',
                component: resolve => require(['../components/page/invoice/middlePge'], resolve),
            meta: {title: ''}
        },
        {
            path: '/showIndex',
                component: resolve => require(['../components/page/show/show-index.vue'], resolve),
            meta: { title: '大屏展示' }
        },
        {
            path: '/leaderLogin',
                component: resolve => require(['../components/page/leaderShow/leaderLogin.vue'], resolve),
            meta: { title: '大屏展示' }
        },
        {
            path: '/leaderIndex',
                component: resolve => require(['../components/page/leaderShow/leaderIndex.vue'], resolve),
            meta: { title: '首页' }
        },
        {
            path: '/editParkNumByPc',
            component: resolve => require(['../components/page/EditParkNum'], resolve),
            meta: { title: '车位数量' }
        },
        {
            path: '/monthFeePay',
            component: resolve => require(['../components/page/MonthFeePay.vue'], resolve),
            meta: { title: '月租车缴费' }
        },
        {
            path: '/smartParking',
            component: resolve => require(['../components/page/smartPark.vue'], resolve),
            meta: { title: '智慧泊车导引' }
        },
    ]
})
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
}
src/router/index.js
@@ -1,3 +1,4 @@
import Vue from 'vue';
import Router from 'vue-router';
@@ -11,223 +12,215 @@
        },
        {
            path: '/home',
            component: resolve => require(['../components/common/Home.vue'], resolve),
            component: () => import('../components/common/Home.vue'),
            meta: { title: '首页' },
            children:[
            children: [
                {
                    path: '/inspectionRegistration',
                    component: resolve => require(['../components/page/inspectionRegistration/index.vue'], resolve),
                    component: () => import('../components/page/inspectionRegistration/index.vue'),
                    meta: { title: '巡检登记' }
                },
                {
                    path: '/repairAndMaintenance',
                    component: resolve => require(['../components/page/repairAndMaintenance/index.vue'], resolve),
                    component: () => import('../components/page/repairAndMaintenance/index.vue'),
                    meta: { title: '维修维护管理软件' }
                },
                {
                    path: '/user',
                    component: resolve => require(['../components/page/user/index.vue'], resolve),
                    component: () => import('../components/page/user/index.vue'),
                    meta: { title: '人员管理' }
                },
                {
                    path: '/park',
                    component: resolve => require(['../components/page/park/index.vue'], resolve),
                    component: () => import('../components/page/park/index.vue'),
                    meta: { title: '停车场管理' }
                },
                {
                    path: '/enterPark',
                    component: resolve => require(['../components/page/enterpark/index.vue'], resolve),
                    component: () => import('../components/page/enterpark/index.vue'),
                    meta: { title: '车辆入场管理' }
                },
                {
                    path: '/outPark',
                    component: resolve => require(['../components/page/outPark/index.vue'], resolve),
                    component: () => import('../components/page/outPark/index.vue'),
                    meta: { title: '车辆出场管理' }
                },
                {
                    path: '/barrierOpenLog',
                    component: resolve => require(['../components/page/barrieropenlog/index.vue'], resolve),
                    component: () => import('../components/page/barrieropenlog/index.vue'),
                    meta: { title: '手动抬杆记录' }
                },
                {
                    path: '/enterParkCar',
                    component: resolve => require(['../components/page/enterParkCar/index.vue'], resolve),
                    component: () => import('../components/page/enterParkCar/index.vue'),
                    meta: { title: '场内车辆管理' }
                },
                {
                    path: '/ticketBlack',
                    component: resolve => require(['../components/page/ticketBlack/index.vue'], resolve),
                    component: () => import('../components/page/ticketBlack/index.vue'),
                    meta: { title: '黑名单管理' }
                },
                {
                    path: '/parkticket',
                    component: resolve => require(['../components/page/parkticket/index.vue'], resolve),
                    component: () => import('../components/page/parkticket/index.vue'),
                    meta: { title: '泊车发票管理' }
                },
                {
                    path: '/whiteListRule',
                    component: resolve => require(['../components/page/whiteListRule/index.vue'], resolve),
                    component: () => import('../components/page/whiteListRule/index.vue'),
                    meta: { title: '月票车规则管理' }
                },
                {
                    path: '/paymentLog',
                    component: resolve => require(['../components/page/paymentLog/index.vue'], resolve),
                    component: () => import('../components/page/paymentLog/index.vue'),
                    meta: { title: '缴费日志管理' }
                },
                {
                    path: '/whiteList',
                    component: resolve => require(['../components/page/whiteList/index.vue'], resolve),
                    component: () => import('../components/page/whiteList/index.vue'),
                    meta: { title: '白名单' }
                },
                {
                    path: '/costRule',
                    component: resolve => require(['../components/page/costRule/index.vue'], resolve),
                    component: () => import('../components/page/costRule/index.vue'),
                    meta: { title: '收费规则管理' }
                },
                {
                    path: '/orderRecord',
                    component: resolve => require(['../components/page/orderRecord/index.vue'], resolve),
                    component: () => import('../components/page/orderRecord/index.vue'),
                    meta: { title: '订单统计' }
                },
                {
                    path: '/orderRecordDay',
                    component: resolve => require(['../components/page/orderRecord/indexDay.vue'], resolve),
                    component: () => import('../components/page/orderRecord/indexDay.vue'),
                    meta: { title: '订单统计详情' }
                },
                {
                    path: '/violationType',
                    component: resolve => require(['../components/page/violationType/index.vue'], resolve),
                    component: () => import('../components/page/violationType/index.vue'),
                    meta: { title: '违章类型管理' }
                },
                {
                    path: '/ticket',
                    component: resolve => require(['../components/page/ticket/index.vue'], resolve),
                    component: () => import('../components/page/ticket/index.vue'),
                    meta: { title: '罚单管理' }
                },
                {
                    path: '/zfticket',
                    component: resolve => require(['../components/page/zfticket/index.vue'], resolve),
                    component: () => import('../components/page/zfticket/index.vue'),
                    meta: { title: '罚没发票管理' }
                },
                {
                    path: '/street',
                    component: resolve => require(['../components/page/street/index.vue'], resolve),
                    component: () => import('../components/page/street/index.vue'),
                    meta: { title: '街道管理' }
                },
                }
            ]
        },
        {
            path: '/list',
            component: resolve => require(['../components/common/List.vue'], resolve),
            component: () => import('../components/common/List.vue'),
            meta: { title: '首页' }
        },
        {
            path: '/login',
            component: resolve => require(['../components/page/Login.vue'], resolve)
            component: () => import('../components/page/Login.vue')
        },
        {
            path: '/index',
            component: resolve => require(['../components/page/Index.vue'], resolve),
            component: () => import('../components/page/Index.vue'),
            meta: { title: '违章停车' }
        },
        // {
        //     path: '/index2',
        //     component: resolve => require(['../components/page/Index2.vue'], resolve),
        //     meta: { title: '智慧泊车' }
        // },
        {
            path: '/index2',
            component: resolve => require(['../components/page/IndexXTYH.vue'], resolve),
            component: () => import('../components/page/IndexXTYH.vue'),
            meta: { title: '峰峰矿区智慧停车' }
        },
        {
            path: '/IndexXTYH39',
            component: resolve => require(['../components/page/IndexXTYH39.vue'], resolve),
            component: () => import('../components/page/IndexXTYH39.vue'),
            meta: { title: '峰峰矿区智慧停车' }
        },
        {
            path: '/indexOk',
            component: resolve => require(['../components/page/IndexOk.vue'], resolve),
            component: () => import('../components/page/IndexOk.vue'),
            meta: { title: '智慧泊车' }
        },
        {
            path: '/indexFail',
            component: resolve => require(['../components/page/IndexFail.vue'], resolve),
            component: () => import('../components/page/IndexFail.vue'),
            meta: { title: '智慧泊车' }
        },
        {
            path: '/index3',
            component: resolve => require(['../components/page/Index2.vue'], resolve),
            component: () => import('../components/page/Index2.vue'),
            meta: { title: '无牌停车' }
        },
        {
            path: '/index4',
            component: resolve => require(['../components/page/Index4.vue'], resolve),
            component: () => import('../components/page/Index4.vue'),
            meta: { title: '无牌入场' }
        },
        {
            path: '/index5',
            component: resolve => require(['../components/page/Index5.vue'], resolve),
            component: () => import('../components/page/Index5.vue'),
            meta: { title: '罚没缴费' }
        },
        {
            path: '/indexTest',
            component: resolve => require(['../components/page/IndexTest.vue'], resolve),
            meta: { title: '邮储测试' }
        },
        // 已删除无用测试路由 /indexTest
        {
            path: '/invoice',
            component: resolve => require(['../components/page/invoice/index.vue'], resolve),
            component: () => import('../components/page/invoice/index.vue'),
            meta: { title: '发票' }
        },
        {
            path: '/invoiceForm',
            component: resolve => require(['../components/page/invoice/invoiceForm.vue'], resolve),
            component: () => import('../components/page/invoice/invoiceForm.vue'),
            meta: { title: '发票' }
        },
        {
            path: '/invoiceDetail',
            component: resolve => require(['../components/page/invoice/invoiceDetail'], resolve),
            meta: {title: '订单详情'}
            component: () => import('../components/page/invoice/invoiceDetail'),
            meta: { title: '订单详情' }
        },
        {
            path: '/middlePge',
                component: resolve => require(['../components/page/invoice/middlePge'], resolve),
            meta: {title: ''}
            component: () => import('../components/page/invoice/middlePge'),
            meta: { title: '' }
        },
        {
            path: '/showIndex',
                component: resolve => require(['../components/page/show/show-index.vue'], resolve),
            component: () => import('../components/page/show/show-index.vue'),
            meta: { title: '大屏展示' }
        },
        {
            path: '/leaderLogin',
                component: resolve => require(['../components/page/leaderShow/leaderLogin.vue'], resolve),
            component: () => import('../components/page/leaderShow/leaderLogin.vue'),
            meta: { title: '大屏展示' }
        },
        {
            path: '/leaderIndex',
                component: resolve => require(['../components/page/leaderShow/leaderIndex.vue'], resolve),
            component: () => import('../components/page/leaderShow/leaderIndex.vue'),
            meta: { title: '首页' }
        },
        // {
        //     path: '/editParkNumByPc',
        //     component: resolve => require(['../components/page/EditParkNum'], resolve),
        //     component: () => import('../components/page/EditParkNum'),
        //     meta: { title: '车位数量' }
        // },
        {
            path: '/monthFeePay',
            component: resolve => require(['../components/page/MonthFeePay.vue'], resolve),
            component: () => import('../components/page/MonthFeePay.vue'),
            meta: { title: '月租车缴费' }
        },
        {
            path: '/smartParking',
            component: resolve => require(['../components/page/smartPark.vue'], resolve),
            component: () => import('../components/page/smartPark.vue'),
            meta: { title: '智慧泊车导引' }
        },
        }
    ]
})
// 保留:解决路由重复跳转报错,无需改动
const originalPush = Router.prototype.push
Router.prototype.push = function push(location) {
    return originalPush.call(this, location).catch(err => err)
vue.config copy.js
New file
@@ -0,0 +1,81 @@
var path = require('path')
module.exports = {
  publicPath: '/',
  assetsDir: 'static',
  productionSourceMap: false, // 关闭sourceMap,减少产物体积
  configureWebpack: {
    optimization: {
      minimizer: [
        new (require('terser-webpack-plugin'))({
          terserOptions: {
            compress: {
              drop_console: true, // 移除console
              drop_debugger: true, // 移除debugger
              pure_funcs: ['console.log'] // 彻底清理日志函数
            },
            output: {
              comments: false // 移除所有注释
            }
          },
          extractComments: false // 不单独提取注释文件
        })
      ],
      // ========== 重构分包规则(核心修复包变大问题) ==========
      // 单独抽离运行时代码,所有分包共用,减少冗余
      runtimeChunk: 'single',
      splitChunks: {
        chunks: 'all', // 同步+异步chunk都拆分
        minSize: 20 * 1024, // 最小拆分体积:20kb,小于这个大小不拆包
        minChunks: 2, // 模块至少被引用2次才抽离为公共包
        maxAsyncRequests: 30,
        maxInitialRequests: 30,
        name: false, // 关闭自动命名
        cacheGroups: {
          // 业务公共代码(多个页面共用的业务JS)
          common: {
            name: 'common',
            chunks: 'all',
            minChunks: 2,
            priority: 5,
            reuseExistingChunk: true // 复用已存在的chunk
          },
          // 第三方依赖 node_modules(核心vendor分包)
          vendor: {
            test: /[\\/]node_modules[\\/]/,
            name: 'vendor',
            chunks: 'all',
            priority: 10,
            reuseExistingChunk: true
          }
        }
      }
      // ======================================================
    },
    resolve: {
      alias: {
        '@': path.join(__dirname, 'src')
      }
    }
  },
  devServer: {
    sockHost: 'localhost',
    port: 8082,
    disableHostCheck: true,
    proxy: {
      '/': {
        // target: 'http://183.196.93.178:39999',
        target: 'http://192.168.0.147:8089',
        changeOrigin: true,
        pathRewrite: {
          '/': ''
        }
      }
    }
  }
}
vue.config.js
@@ -1,55 +1,107 @@
var path = require("path")
var path = require('path')
module.exports = {
    baseUrl: './',
    configureWebpack: {
        optimization: {
            minimizer: [
                new (require('terser-webpack-plugin'))({
                    terserOptions: {
                        compress: {
                            drop_console: true, // 删除生产环境console.log
                            drop_debugger: true, // 删除debugger
                        }
                    }
                })
            ]
        },
        resolve: {
            alias: {
                '@': path.join(__dirname, 'src')
            }
        }
  publicPath: '/',
  assetsDir: 'static',
  productionSourceMap: false, // 关闭sourceMap,减少产物体积
  // 强制抽离 CSS 为独立文件,不内联进 JS
  css: {
    extract: true
  },
  configureWebpack: {
    // ========== 只外置:ElementUI / ViewUI / ECharts,必须外置 vue ==========
    externals: {
      'vue': 'Vue',
      'element-ui': 'ELEMENT',
      'view-design': 'ViewUI',
      'echarts': 'echarts'
    },
    assetsDir: 'static',
    productionSourceMap: false,
    devServer: {
        sockHost: 'localhost',
        port: 8082,
        disableHostCheck: true,
        proxy: {
            '/':{
                target:'http://183.196.93.178:8089',
                //target:'http://127.0.0.1:8089',
                changeOrigin:true,
                pathRewrite:{
                    '/':''
                }
    // =======================================================
    optimization: {
      minimizer: [
        new (require('terser-webpack-plugin'))({
          terserOptions: {
            compress: {
              drop_console: true, // 移除console
              drop_debugger: true, // 移除debugger
              pure_funcs: ['console.log', 'console.info', 'console.warn']
            },
            mangle: {
              safari10: true
            },
            output: {
              comments: false // 移除所有注释
            }
          },
          extractComments: false,
          parallel: true // 多进程压缩
        })
      ],
      runtimeChunk: 'single',
      splitChunks: {
        chunks: 'all',
        minSize: 10 * 1024, // 20kb → 10kb,拆分更充分
        minChunks: 2,
        maxAsyncRequests: 30,
        maxInitialRequests: 30,
        name: false,
        cacheGroups: {
          common: {
            name: 'common',
            chunks: 'all',
            minChunks: 2,
            priority: 5,
            reuseExistingChunk: true
          },
          vendor: {
            test: /[\\/]node_modules[\\/]/,
            name: 'vendor',
            chunks: 'all',
            priority: 10,
            reuseExistingChunk: true
          }
        }
      }
    },
    chainWebpack : config => {
        // 图片压缩(需要安装image-webpack-loader:npm install image-webpack-loader -D)
        config.module
            .rule('images')
            .use('image-webpack-loader')
            .loader('image-webpack-loader')
            .options({
                mozjpeg: { progressive: true, quality: 65 },
                optipng: { enabled: false },
                pngquant: { quality: [0.65, 0.9], speed: 4 },
                gifsicle: { interlaced: false },
                webp: { quality: 75 } // WebP压缩质量
            })
            .end();
    resolve: {
      alias: {
        '@': path.join(__dirname, 'src')
      }
    }
}
  },
  // 图片优化 + 关闭预加载冗余
  chainWebpack(config) {
    config.module
      .rule('images')
      .use('url-loader')
      .loader('url-loader')
      .tap(options => {
        options.limit = 4 * 1024
        return options
      })
    config.plugins.delete('prefetch')
    config.plugins.delete('preload')
  },
  devServer: {
    sockHost: 'localhost',
    port: 8082,
    disableHostCheck: true,
    proxy: {
      '/': {
        target: 'http://183.196.93.178:8089',
        // target: 'http://192.168.0.147:8089',
        changeOrigin: true,
        pathRewrite: {
          '/': ''
        }
      }
    }
  }
}