diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 9fb5f01..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,45 +0,0 @@ -module.exports = { - env: { - browser: true, - commonjs: true, - es2021: true, - }, - extends: [ - 'airbnb-base', - ], - parserOptions: { - ecmaVersion: 12, - }, - rules: { - indent: ['error', 4], - semi: ['warn', 'never'], - 'object-curly-newline': ['warn', { - ObjectExpression: 'always', - ObjectPattern: { - multiline: true, - }, - ImportDeclaration: 'never', - ExportDeclaration: { - multiline: true, minProperties: 3, - }, - }], - 'consistent-return': [0], - 'prefer-const': [0], - 'no-unused-vars': [0], - 'no-console': [0], - 'global-require': [0], - 'no-plusplus': [0], - 'no-underscore-dangle': [0], - 'import/no-dynamic-require': [0], - 'no-shadow': ['warn'], - 'no-restricted-syntax': ['warn'], - 'max-len': ['warn'], - 'linebreak-style': [0], - 'prefer-destructuring': [0], - 'imoprt-order': [0], - 'no-param-reassign': [1], - 'no-await-in-loop': [1], - 'no-return-assign': [1], - 'spaced-comment': [1], - }, -} diff --git a/.gitignore b/.gitignore index a90bea0..9e34c1a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ .env -.idea \ No newline at end of file +.idea +coverage/ diff --git a/.npmrc b/.npmrc deleted file mode 100644 index cafe685..0000000 --- a/.npmrc +++ /dev/null @@ -1 +0,0 @@ -package-lock=true diff --git a/.serverrc.js b/.serverrc.js index 16e5b53..c0bcb21 100644 --- a/.serverrc.js +++ b/.serverrc.js @@ -1,5 +1,5 @@ module.exports = { - port: 8044, + port: process.env.PORT ?? 8044, mongoAddr: process.env.MONGO_ADDR || 'localhost', mongoPort: 27017, } diff --git a/Dockerfile b/Dockerfile index 46280cc..c99c37f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18 +FROM node:20 RUN mkdir -p /usr/src/app/server/ WORKDIR /usr/src/app/ diff --git a/Jenkinsfile b/Jenkinsfile index 0c424cd..6f680c4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,6 +26,12 @@ pipeline { } } + stage('archiving') { + script { + archiveArtifacts artifacts: 'coverage/*/**' + } + } + stage('clean-all') { steps { sh 'rm -rf .[!.]*' @@ -34,4 +40,4 @@ pipeline { } } } -} \ No newline at end of file +} diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 0000000..21a1f6d --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,16 @@ +import globals from "globals"; +import pluginJs from "@eslint/js"; + + +export default [ + { ignores: ['server/routers/old/*'] }, + { files: ["**/*.js"], languageOptions: { sourceType: "commonjs" } }, + { languageOptions: { globals: globals.node } }, + pluginJs.configs.recommended, + { + rules: { + semi: ['warn', 'never'], + 'no-unused-vars': [0], + } + } +]; \ No newline at end of file diff --git a/jest.config.js b/jest.config.js new file mode 100644 index 0000000..370a948 --- /dev/null +++ b/jest.config.js @@ -0,0 +1,201 @@ +/** + * For a detailed explanation regarding each configuration property, visit: + * https://jestjs.io/docs/configuration + */ + +/** @type {import('jest').Config} */ +const config = { + // All imported modules in your tests should be mocked automatically + // automock: false, + + // Stop running tests after `n` failures + // bail: 0, + + // The directory where Jest should store its cached dependency information + // cacheDirectory: "C:\\Users\\alex\\AppData\\Local\\Temp\\jest", + + // Automatically clear mock calls, instances, contexts and results before every test + clearMocks: true, + + // Indicates whether the coverage information should be collected while executing the test + collectCoverage: true, + + // An array of glob patterns indicating a set of files for which coverage information should be collected + collectCoverageFrom: [ + "/server/routers/**/*.js" + ], + + // The directory where Jest should output its coverage files + coverageDirectory: "coverage", + + // An array of regexp pattern strings used to skip coverage collection + coveragePathIgnorePatterns: [ + "\\\\node_modules\\\\", + "\\\\old\\\\" + ], + + // Indicates which provider should be used to instrument code for coverage + coverageProvider: "v8", + + // A list of reporter names that Jest uses when writing coverage reports + // coverageReporters: [ + // "json", + // "text", + // "lcov", + // "clover" + // ], + + // An object that configures minimum threshold enforcement for coverage results + // coverageThreshold: undefined, + + // A path to a custom dependency extractor + // dependencyExtractor: undefined, + + // Make calling deprecated APIs throw helpful error messages + // errorOnDeprecated: false, + + // The default configuration for fake timers + // fakeTimers: { + // "enableGlobally": false + // }, + + // Force coverage collection from ignored files using an array of glob patterns + // forceCoverageMatch: [], + + // A path to a module which exports an async function that is triggered once before all test suites + // globalSetup: undefined, + + // A path to a module which exports an async function that is triggered once after all test suites + // globalTeardown: undefined, + + // A set of global variables that need to be available in all test environments + // globals: {}, + + // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers. + // maxWorkers: "50%", + + // An array of directory names to be searched recursively up from the requiring module's location + // moduleDirectories: [ + // "node_modules" + // ], + + // An array of file extensions your modules use + // moduleFileExtensions: [ + // "js", + // "mjs", + // "cjs", + // "jsx", + // "ts", + // "tsx", + // "json", + // "node" + // ], + + // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module + // moduleNameMapper: {}, + + // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader + // modulePathIgnorePatterns: [], + + // Activates notifications for test results + // notify: false, + + // An enum that specifies notification mode. Requires { notify: true } + // notifyMode: "failure-change", + + // A preset that is used as a base for Jest's configuration + // preset: undefined, + + // Run tests from one or more projects + // projects: undefined, + + // Use this configuration option to add custom reporters to Jest + // reporters: undefined, + + // Automatically reset mock state before every test + // resetMocks: false, + + // Reset the module registry before running each individual test + // resetModules: false, + + // A path to a custom resolver + // resolver: undefined, + + // Automatically restore mock state and implementation before every test + // restoreMocks: false, + + // The root directory that Jest should scan for tests and modules within + // rootDir: undefined, + + // A list of paths to directories that Jest should use to search for files in + // roots: [ + // "" + // ], + + // Allows you to use a custom runner instead of Jest's default test runner + // runner: "jest-runner", + + // The paths to modules that run some code to configure or set up the testing environment before each test + // setupFiles: [], + + // A list of paths to modules that run some code to configure or set up the testing framework before each test + // setupFilesAfterEnv: [], + + // The number of seconds after which a test is considered as slow and reported as such in the results. + // slowTestThreshold: 5, + + // A list of paths to snapshot serializer modules Jest should use for snapshot testing + // snapshotSerializers: [], + + // The test environment that will be used for testing + // testEnvironment: "jest-environment-node", + + // Options that will be passed to the testEnvironment + // testEnvironmentOptions: {}, + + // Adds a location field to test results + // testLocationInResults: false, + + // The glob patterns Jest uses to detect test files + // testMatch: [ + // "**/__tests__/**/*.[jt]s?(x)", + // "**/?(*.)+(spec|test).[tj]s?(x)" + // ], + + // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped + // testPathIgnorePatterns: [ + // "\\\\node_modules\\\\" + // ], + + // The regexp pattern or array of patterns that Jest uses to detect test files + // testRegex: [], + + // This option allows the use of a custom results processor + // testResultsProcessor: undefined, + + // This option allows use of a custom test runner + // testRunner: "jest-circus/runner", + + // A map from regular expressions to paths to transformers + // transform: undefined, + + // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation + // transformIgnorePatterns: [ + // "\\\\node_modules\\\\", + // "\\.pnp\\.[^\\\\]+$" + // ], + + // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them + // unmockedModulePathPatterns: undefined, + + // Indicates whether each individual test should be reported during the run + // verbose: undefined, + + // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode + // watchPathIgnorePatterns: [], + + // Whether to use watchman for file crawling + // watchman: true, +}; + +module.exports = config; diff --git a/package-lock.json b/package-lock.json index 17504e6..5f20196 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "jsdom": "^22.1.0", "jsonwebtoken": "^8.5.1", "mongodb": "^3.6.8", + "mongoose": "^8.7.1", "mysql": "^2.18.1", "pbkdf2-password": "^1.2.1", "socket.io": "^4.7.1", @@ -30,76 +31,93 @@ "uuid": "^9.0.0" }, "devDependencies": { + "@eslint/js": "^9.12.0", "@types/node": "18.17.1", - "eslint": "8.46.0", - "eslint-config-airbnb-base": "15.0.0", - "eslint-plugin-import": "2.28.0", - "nodemon": "3.0.1" + "eslint": "^9.12.0", + "globals": "^15.11.0", + "jest": "^29.7.0", + "mockingoose": "^2.16.2", + "nodemon": "3.0.1", + "supertest": "^7.0.0" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=6.0.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", "dev": true, + "license": "MIT", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz", + "integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz", + "integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helpers": "^7.25.7", + "@babel/parser": "^7.25.8", + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.8", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -110,19 +128,806 @@ } } }, - "node_modules/@eslint/eslintrc/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", + "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", + "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", + "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", + "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", + "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", + "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz", + "integrity": "sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz", + "integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.25.8" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", + "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", + "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", + "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/types": { + "version": "7.25.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz", + "integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-array/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/core": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz", + "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@eslint/js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz", + "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz", + "integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@hapi/hoek": { @@ -138,48 +943,36 @@ "@hapi/hoek": "^9.0.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "node_modules/@humanfs/core": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.0.tgz", + "integrity": "sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==", "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, + "license": "Apache-2.0", "engines": { - "node": ">=10.10.0" + "node": ">=18.18.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@humanfs/node": { + "version": "0.16.5", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.5.tgz", + "integrity": "sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ms": "2.1.2" + "@humanfs/core": "^0.19.0", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=18.18.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -188,11 +981,481 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { + "node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } }, "node_modules/@mapbox/node-pre-gyp": { "version": "1.0.11", @@ -213,39 +1476,13 @@ "node-pre-gyp": "bin/node-pre-gyp" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz", + "integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==", + "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" + "sparse-bitfield": "^3.0.3" } }, "node_modules/@sideway/address": { @@ -266,6 +1503,33 @@ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", @@ -279,6 +1543,51 @@ "node": ">= 10" } }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, "node_modules/@types/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", @@ -292,11 +1601,56 @@ "@types/node": "*" } }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/jsonwebtoken": { "version": "9.0.2", @@ -311,6 +1665,45 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.1.tgz", "integrity": "sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==" }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz", + "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==", + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, "node_modules/abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -334,10 +1727,11 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.13.0.tgz", + "integrity": "sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -350,6 +1744,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -391,6 +1786,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -402,6 +1798,22 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", @@ -415,6 +1827,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -477,137 +1890,26 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "Python-2.0" }, "node_modules/array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz", - "integrity": "sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "get-intrinsic": "^1.2.1", - "is-array-buffer": "^3.0.2", - "is-shared-array-buffer": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/axios": { "version": "1.7.7", "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", @@ -619,6 +1921,132 @@ "proxy-from-env": "^1.1.0" } }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -709,17 +2137,61 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, + "node_modules/browserslist": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, "node_modules/bson": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz", @@ -733,6 +2205,13 @@ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -758,15 +2237,48 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -778,6 +2290,16 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/check-more-types": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", @@ -833,11 +2355,68 @@ "node": ">=10" } }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -849,7 +2428,8 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/color-support": { "version": "1.1.3", @@ -870,17 +2450,21 @@ "node": ">= 0.8" } }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -905,6 +2489,13 @@ "node": ">= 0.6" } }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, "node_modules/cookie": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", @@ -930,6 +2521,13 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", + "dev": true, + "license": "MIT" + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -947,6 +2545,28 @@ "node": ">= 0.10" } }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/cross-env": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", @@ -1050,26 +2670,36 @@ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, "node_modules/delayed-stream": { @@ -1118,16 +2748,35 @@ "node": ">=8" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, + "license": "MIT", "engines": { - "node": ">=6.0.0" + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/domexception": { @@ -1178,6 +2827,26 @@ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, + "node_modules/electron-to-chromium": { + "version": "1.5.39", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.39.tgz", + "integrity": "sha512-4xkpSR6CjuiaNyvwiWDI85N9AxsvbPawB8xc7yzLPonYTuP19BVgYweKyUMFtHEZgIcHWMt1ks5Cqx2m+6/Grg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -1251,97 +2920,24 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-buffer": "^1.0.0", - "typed-array-byte-length": "^1.0.0", - "typed-array-byte-offset": "^1.0.0", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "is-arrayish": "^0.2.1" } }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6" } }, "node_modules/escape-html": { @@ -1354,6 +2950,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -1362,248 +2959,104 @@ } }, "node_modules/eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz", + "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.6.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.12.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.5", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", + "@humanwhocodes/retry": "^0.3.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.1.0", + "eslint-visitor-keys": "^4.1.0", + "espree": "^10.2.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-airbnb-base": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz", - "integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==", - "dev": true, - "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.5", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "url": "https://eslint.org/donate" }, "peerDependencies": { - "eslint": "^7.32.0 || ^8.2.0", - "eslint-plugin-import": "^2.25.2" - } - }, - "node_modules/eslint-config-airbnb-base/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" + "jiti": "*" }, "peerDependenciesMeta": { - "eslint": { + "jiti": { "optional": true } } }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/eslint-plugin-import": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz", - "integrity": "sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.findlastindex": "^1.2.2", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.8.0", - "has": "^1.0.3", - "is-core-module": "^2.12.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.6", - "object.groupby": "^1.0.0", - "object.values": "^1.1.6", - "resolve": "^1.22.3", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1615,33 +3068,50 @@ } }, "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1654,6 +3124,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1666,6 +3137,7 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -1675,6 +3147,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -1723,6 +3196,32 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -1877,19 +3376,29 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true, + "license": "MIT" }, "node_modules/fastfall": { "version": "1.5.1", @@ -1902,32 +3411,35 @@ "node": ">=0.10.0" } }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "reusify": "^1.0.4" + "bser": "2.1.1" } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -1957,6 +3469,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -1969,23 +3482,25 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" }, "node_modules/follow-redirects": { "version": "1.15.9", @@ -2007,15 +3522,6 @@ } } }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -2029,6 +3535,21 @@ "node": ">= 6" } }, + "node_modules/formidable": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.1.tgz", + "integrity": "sha512-WJWKelbRHN41m5dumb0/k8TeAx7Id/y3a+Z7QfhxP/htI9Js5zYaEDtG8uMgG0vM0lOlqnmjE99/kfpOYi/0Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -2077,34 +3598,26 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2128,6 +3641,26 @@ "node": ">=10" } }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-intrinsic": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", @@ -2142,6 +3675,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -2153,22 +3696,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -2193,6 +3720,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -2201,52 +3729,24 @@ } }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.11.0.tgz", + "integrity": "sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "license": "ISC" }, "node_modules/has": { "version": "1.0.3", @@ -2259,36 +3759,16 @@ "node": ">= 0.4.0" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", @@ -2311,26 +3791,34 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", @@ -2342,6 +3830,13 @@ "node": ">=12" } }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -2444,10 +3939,11 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -2463,6 +3959,7 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2474,11 +3971,32 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -2497,20 +4015,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -2519,31 +4023,12 @@ "node": ">= 0.10" } }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "MIT" }, "node_modules/is-binary-path": { "version": "2.1.0", @@ -2557,53 +4042,14 @@ "node": ">=8" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -2629,6 +4075,16 @@ "node": ">=8" } }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2641,84 +4097,21 @@ "node": ">=0.10.0" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -2730,63 +4123,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -2797,6 +4133,701 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/joi": { "version": "17.9.2", "resolved": "https://registry.npmjs.org/joi/-/joi-17.9.2.tgz", @@ -2809,11 +4840,19 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -2913,28 +4952,58 @@ } } }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, + "license": "MIT", "bin": { "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, "node_modules/jsonwebtoken": { @@ -2990,6 +5059,35 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/kareem": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz", + "integrity": "sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/lazy-ass": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", @@ -2998,11 +5096,22 @@ "node": "> 0.8" } }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3011,11 +5120,19 @@ "node": ">= 0.8.0" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -3065,7 +5182,8 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lodash.once": { "version": "4.1.1", @@ -3105,6 +5223,16 @@ "semver": "bin/semver.js" } }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, "node_modules/map-stream": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", @@ -3121,8 +5249,7 @@ "node_modules/memory-pager": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "optional": true + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" }, "node_modules/merge-descriptors": { "version": "1.0.1", @@ -3142,6 +5269,20 @@ "node": ">= 0.6" } }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -3241,6 +5382,19 @@ "node": ">=10" } }, + "node_modules/mockingoose": { + "version": "2.16.2", + "resolved": "https://registry.npmjs.org/mockingoose/-/mockingoose-2.16.2.tgz", + "integrity": "sha512-6JokLoDoH4yzwnZYLwoynU2lNmbfW7Mcf0d8sF580XI2hqE9Cs5l22iFTjLB51cdxkOvRtjoL84LLVEGmgcwKQ==", + "dev": true, + "license": "The Unlicense", + "engines": { + "node": ">=6.4.0" + }, + "peerDependencies": { + "mongoose": ">=4.9.10" + } + }, "node_modules/mongodb": { "version": "3.7.4", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.7.4.tgz", @@ -3279,6 +5433,177 @@ } } }, + "node_modules/mongodb-connection-string-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", + "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^11.0.2", + "whatwg-url": "^13.0.0" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", + "license": "MIT", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/mongoose": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.7.1.tgz", + "integrity": "sha512-RpNMyhyzLVCVbf8xTVbrf/18G3MqQzNw5pJdvOJ60fzbCa3cOZzz9L+8XpqzBXtRlgZGWv0T7MmOtvrT8ocp1Q==", + "license": "MIT", + "dependencies": { + "bson": "^6.7.0", + "kareem": "2.6.3", + "mongodb": "6.9.0", + "mpath": "0.9.0", + "mquery": "5.0.0", + "ms": "2.1.3", + "sift": "17.1.3" + }, + "engines": { + "node": ">=16.20.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/mongoose/node_modules/bson": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", + "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.20.1" + } + }, + "node_modules/mongoose/node_modules/mongodb": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.9.0.tgz", + "integrity": "sha512-UMopBVx1LmEUbW/QE0Hw18u583PEDVQmUmVzzBRH0o/xtE9DBRA5ZYLOjpLIa03i8FXjzvQECJcqoMvCXftTUA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/saslprep": "^1.1.5", + "bson": "^6.7.0", + "mongodb-connection-string-url": "^3.0.0" + }, + "engines": { + "node": ">=16.20.1" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.1.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.2.2", + "socks": "^2.7.1" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongoose/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/mpath": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz", + "integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==", + "license": "MIT", + "dependencies": { + "debug": "4.x" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/mquery/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/mquery/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -3321,7 +5646,8 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/negotiator": { "version": "0.6.3", @@ -3355,6 +5681,20 @@ } } }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, "node_modules/nodemon": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz", @@ -3485,93 +5825,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.0.tgz", - "integrity": "sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.2", - "get-intrinsic": "^1.2.1" - } - }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -3625,17 +5878,18 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -3646,6 +5900,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3661,6 +5916,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3671,11 +5927,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -3683,6 +5950,25 @@ "node": ">=6" } }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", @@ -3707,6 +5993,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3731,7 +6018,8 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -3754,6 +6042,13 @@ "fastfall": "^1.2.3" } }, + "node_modules/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "dev": true, + "license": "ISC" + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -3766,20 +6061,142 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -3831,6 +6248,23 @@ "node": ">=6" } }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "license": "MIT" + }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -3850,26 +6284,6 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", @@ -3900,6 +6314,13 @@ "node": ">= 0.8" } }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -3931,23 +6352,6 @@ "node": ">=8.10.0" } }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/require-at": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz", @@ -3956,18 +6360,29 @@ "node": ">=4" } }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.3.tgz", - "integrity": "sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.12.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -3978,15 +6393,49 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -4015,29 +6464,6 @@ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==" }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -4046,30 +6472,6 @@ "tslib": "^2.1.0" } }, - "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-array-concat/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -4089,20 +6491,6 @@ } ] }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -4229,6 +6617,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/sift": { + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz", + "integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==", + "license": "MIT" + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -4246,6 +6640,23 @@ "node": ">=10" } }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/socket.io": { "version": "4.7.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.1.tgz", @@ -4325,11 +6736,31 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "optional": true, "dependencies": { "memory-pager": "^1.0.2" } @@ -4345,6 +6776,13 @@ "node": "*" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, "node_modules/sqlstring": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", @@ -4353,6 +6791,29 @@ "node": ">= 0.6" } }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/start-server-and-test": { "version": "1.15.4", "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-1.15.4.tgz", @@ -4426,6 +6887,20 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -4439,51 +6914,6 @@ "node": ">=8" } }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -4496,12 +6926,13 @@ } }, "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/strip-final-newline": { @@ -4517,6 +6948,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -4524,11 +6956,85 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/superagent": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz", + "integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^3.5.1", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0" + }, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/superagent/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/superagent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/supertest": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-7.0.0.tgz", + "integrity": "sha512-qlsr7fIC0lSddmA3tzojvzubYxvlGtzumcdHgPwbFWMISQwL22MhM2Y3LNt+6w9Yyx7559VW5ab70dgphm8qQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "methods": "^1.1.2", + "superagent": "^9.0.1" + }, + "engines": { + "node": ">=14.18.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4541,6 +7047,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4569,22 +7076,56 @@ "node": ">=10" } }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -4646,18 +7187,6 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, "node_modules/tslib": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", @@ -4668,6 +7197,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -4675,11 +7205,22 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -4699,71 +7240,6 @@ "node": ">= 0.6" } }, - "node_modules/typed-array-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", - "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", - "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", - "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/uid-safe": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", @@ -4775,21 +7251,6 @@ "node": ">= 0.8" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/undefsafe": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", @@ -4812,11 +7273,43 @@ "node": ">= 0.8" } }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -4851,6 +7344,21 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -4898,6 +7406,16 @@ "form-data": "^4.0.0" } }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -4956,41 +7474,6 @@ "node": ">= 8" } }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -4999,11 +7482,53 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/ws": { "version": "8.11.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", @@ -5037,16 +7562,56 @@ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index d0936e6..68c521e 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "scripts": { - "start": "npx nodemon ./server", + "start": "cross-env PORT=8033 npx nodemon ./server", "up:prod": "cross-env NODE_ENV=\"production\" node ./server", "deploy:d:stop": "docker compose down", "deploy:d:build": "docker compose build", @@ -12,7 +12,7 @@ "redeploy": "npm run deploy:d:stop && npm run deploy:d:build && npm run deploy:d:up", "eslint": "npx eslint ./server", "eslint:fix": "npx eslint ./server --fix", - "test": "echo \"test complete\"", + "test": "jest", "test:start": "start-server-and-test up:prod 8044 test" }, "repository": { @@ -38,6 +38,7 @@ "jsdom": "^22.1.0", "jsonwebtoken": "^8.5.1", "mongodb": "^3.6.8", + "mongoose": "^8.7.1", "mysql": "^2.18.1", "pbkdf2-password": "^1.2.1", "socket.io": "^4.7.1", @@ -45,10 +46,13 @@ "uuid": "^9.0.0" }, "devDependencies": { + "@eslint/js": "^9.12.0", "@types/node": "18.17.1", - "eslint": "8.46.0", - "eslint-config-airbnb-base": "15.0.0", - "eslint-plugin-import": "2.28.0", - "nodemon": "3.0.1" + "eslint": "^9.12.0", + "globals": "^15.11.0", + "jest": "^29.7.0", + "mockingoose": "^2.16.2", + "nodemon": "3.0.1", + "supertest": "^7.0.0" } } diff --git a/server/__tests__/__snapshots__/todo.test.js.snap b/server/__tests__/__snapshots__/todo.test.js.snap new file mode 100644 index 0000000..2573ff1 --- /dev/null +++ b/server/__tests__/__snapshots__/todo.test.js.snap @@ -0,0 +1,16 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`todo list app get list 1`] = ` +{ + "body": [ + { + "_id": "670f69b5796ce7a9069da2f7", + "created": "2024-10-16T07:22:29.042Z", + "id": "670f69b5796ce7a9069da2f7", + "items": [], + "title": "qqq", + }, + ], + "success": true, +} +`; diff --git a/server/__tests__/todo.test.js b/server/__tests__/todo.test.js new file mode 100644 index 0000000..8ee1701 --- /dev/null +++ b/server/__tests__/todo.test.js @@ -0,0 +1,34 @@ +const { describe, it, expect } = require('@jest/globals') +const request = require('supertest') +const express = require('express') +const mockingoose = require('mockingoose') +const { ListModel } = require('../data/model/todo/list') + +const todo = require('../routers/todo/routes') + +const app = express() +app.use(todo) + +const listExample = { + "title": "qqq", + "items": [], + "_id": "670f69b5796ce7a9069da2f7", + "created": "2024-10-16T07:22:29.042Z", + "id": "670f69b5796ce7a9069da2f7" +} + +describe('todo list app', () => { + it('get list', (done) => { + mockingoose(ListModel) + .toReturn([listExample], 'find') + .toReturn(listExample, 'create') + + request(app) + .get('/list') + .expect(200) + .then((response) => { + expect(response.body).toMatchSnapshot() + done() + }) + }) +}) diff --git a/server/data/const.js b/server/data/const.js new file mode 100644 index 0000000..ad185bf --- /dev/null +++ b/server/data/const.js @@ -0,0 +1,2 @@ +exports.TODO_LIST_MODEL_NAME = 'TODO_LIST' +exports.TODO_ITEM_MODEL_NAME = 'TODO_ITEM' diff --git a/server/data/model/todo/item.js b/server/data/model/todo/item.js new file mode 100644 index 0000000..e777be2 --- /dev/null +++ b/server/data/model/todo/item.js @@ -0,0 +1,23 @@ +const { Schema, model } = require('mongoose') + +const { TODO_ITEM_MODEL_NAME } = require('../../const') + +const schema = new Schema({ + title: String, + done: { type: Boolean, default: false }, + closed: Date, + created: { + type: Date, default: () => new Date().toISOString(), + }, +}) + +schema.set('toJSON', { + virtuals: true, + versionKey: false, +}) + +schema.virtual('id').get(function () { + return this._id.toHexString() +}) + +exports.ItemModel = model(TODO_ITEM_MODEL_NAME, schema) diff --git a/server/data/model/todo/list.js b/server/data/model/todo/list.js new file mode 100644 index 0000000..b978f62 --- /dev/null +++ b/server/data/model/todo/list.js @@ -0,0 +1,27 @@ +const { Schema, model } = require('mongoose') + +const { TODO_LIST_MODEL_NAME, TODO_ITEM_MODEL_NAME } = require('../../const') + +const schema = new Schema({ + title: String, + created: { + type: Date, default: () => new Date().toISOString(), + }, + items: [{ type: Schema.Types.ObjectId, ref: TODO_ITEM_MODEL_NAME }], +}) + +schema.set('toJSON', { + virtuals: true, + versionKey: false, +}) + +schema.virtual('id').get(function () { + return this._id.toHexString() +}) + +schema.method('addItem', async function (itemObjectId) { + this.items.push(itemObjectId) + await this.save() +}) + +exports.ListModel = model(TODO_LIST_MODEL_NAME, schema) diff --git a/server/index.js b/server/index.js index f393807..9018cd9 100644 --- a/server/index.js +++ b/server/index.js @@ -7,6 +7,8 @@ const app = express() const cors = require('cors') require('dotenv').config() +exports.app = app + const config = require('../.serverrc') const { setIo } = require('./io') @@ -40,35 +42,8 @@ app.use(require('./root')) /** * Добавляйте сюда свои routers. */ -app.use('/lobsters', require('./routers/lobsters')) -app.use('/example', require('./routers/example')) -// app.use('/coder', require('./routers/coder')) -//app.use('/stc-21-03', require('./routers/stc-21-03')) -//app.use('/stc-21', require('./routers/stc')) -//app.use('/stc-22-24', require('./routers/stc-22-24')) -// app.use('/bushou-api', require('./routers/bushou')) - -// app.use('/uryndyklar-api', require('./routers/uryndyklar')) -// app.use('/neptunium', require('./routers/neptunium')) -// app.use('/music-learn', require('./routers/music-learn')) -// app.use('/publicium', require('./routers/publicium')) -// app.use('/task-boss', require('./routers/task-boss')) -// app.use('/car-wash', require('./routers/car-wash')) -app.use('/zoom-bar', require('./routers/zoom-bar')) -app.use('/r-and-m', require('./routers/r-and-m')) -app.use('/my', require('./routers/my')) -app.use('/edateam', require('./routers/edateam')) -app.use('/webstar-project', require('./routers/webstar-project')) -app.use('/dogsitters-finder', require('./routers/dogsitters-finder')) -app.use('/dhs-testing', require('./routers/dhs-testing')) -app.use('/kazan-explore', require('./routers/kazan-explore')) -//app.use('/basket', require('./routers/basket')) -//app.use('/easy-project', require('./routers/easy-project')) -//app.use('/sugarbun', require('./routers/sugarbun')) -app.use('/epja-2023-2', require('./routers/epja-2023-2')) -require('./routers/hub-video') -app.use('/school-stage', require('./routers/school-stage')) app.use('/epja-2024-1', require('./routers/epja-2024-1')) +app.use('/todo', require('./routers/todo/routes')) app.use(require('./error')) diff --git a/server/root.js b/server/root.js index d0f9ba7..519556f 100644 --- a/server/root.js +++ b/server/root.js @@ -1,17 +1,23 @@ -const router = require('express').Router() const fs = require('fs') const path = require('path') +const router = require('express').Router() +const mongoose = require('mongoose') + const pkg = require('../package.json') +require('./utils/mongoose') const folderPath = path.resolve(__dirname, './routers') const folders = fs.readdirSync(folderPath) -router.get('/', (req, res) => { +router.get('/', async (req, res) => { res.send(`

multy stub is working v${pkg.version}

+ +

models

+ `) }) diff --git a/server/routers/epja-2024-1/cats/admin/index.js b/server/routers/epja-2024-1/cats/admin/index.js index 66d8af9..90aa611 100644 --- a/server/routers/epja-2024-1/cats/admin/index.js +++ b/server/routers/epja-2024-1/cats/admin/index.js @@ -1,147 +1,147 @@ -const adminRouter = require('express').Router(); -const fs = require('fs'); -const path = require('path'); -const { TOKEN } = require('../const'); -require('dotenv').config(); +const adminRouter = require('express').Router() +const fs = require('fs') +const path = require('path') +const { TOKEN } = require('../const') +require('dotenv').config() -const dataFilePath = path.join(__dirname, '../data.json'); -let data = require('../data.json'); +const dataFilePath = path.join(__dirname, '../data.json') +let data = require('../data.json') const verifyToken = (req, res, next) => { - const token = req.headers['authorization']; + const token = req.headers['authorization'] if (token === TOKEN) { - next(); + next() } else { - res.status(403).send({ 'status': 'Failed', 'data': 'Invalid token' }); + res.status(403).send({ 'status': 'Failed', 'data': 'Invalid token' }) } -}; +} const saveData = (data) => { - fs.writeFileSync(dataFilePath, JSON.stringify(data, null, 2), 'utf-8'); -}; + fs.writeFileSync(dataFilePath, JSON.stringify(data, null, 2), 'utf-8') +} adminRouter.post('/edit/nickname', verifyToken, (req, res) => { - const { name, colored } = req.body; + const { name, colored } = req.body if (!name || !colored) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Nickname is required' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Nickname is required' }) } - data.nickname = { name, colored }; - saveData(data); + data.nickname = { name, colored } + saveData(data) - res.status(200).send({ 'status': 'OK', 'data': 'Nickname updated successfully' }); -}); + res.status(200).send({ 'status': 'OK', 'data': 'Nickname updated successfully' }) +}) adminRouter.post('/edit/tech-stack', verifyToken, (req, res) => { - const { techStack } = req.body; + const { techStack } = req.body if (!techStack || !Array.isArray(techStack)) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Valid tech stack is required' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Valid tech stack is required' }) } - data.techStack = techStack; - saveData(data); + data.techStack = techStack + saveData(data) - res.status(200).send({ 'status': 'OK', 'data': 'Tech stack updated successfully' }); -}); + res.status(200).send({ 'status': 'OK', 'data': 'Tech stack updated successfully' }) +}) adminRouter.post('/edit/city', verifyToken, (req, res) => { - const { city } = req.body; + const { city } = req.body if (!city) { - return res.status(400).send({ 'status': 'Failed', 'data': 'City is required' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'City is required' }) } - const isValid = typeof city === 'object' && 'name' in city && 'href' in city; + const isValid = typeof city === 'object' && 'name' in city && 'href' in city if (!isValid) { - return res.status(400).send({ 'status': 'Failed', 'data': 'City must contain href and name' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'City must contain href and name' }) } - data.city = city; - saveData(data); + data.city = city + saveData(data) - res.status(200).send({ 'status': 'OK', 'data': 'City updated successfully' }); -}); + res.status(200).send({ 'status': 'OK', 'data': 'City updated successfully' }) +}) adminRouter.post('/edit/github-repo', verifyToken, (req, res) => { - const { github } = req.body; + const { github } = req.body if (!github) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Github is required' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Github is required' }) } - const isValid = typeof github === 'object' && 'author' in github && 'repo' in github; + const isValid = typeof github === 'object' && 'author' in github && 'repo' in github if (!isValid) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Github must contain author and repo' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Github must contain author and repo' }) } - data.githubRepo = github; - saveData(data); + data.githubRepo = github + saveData(data) - res.status(200).send({ 'status': 'OK', 'data': 'Github updated successfully' }); -}); + res.status(200).send({ 'status': 'OK', 'data': 'Github updated successfully' }) +}) adminRouter.post('/edit/nav-links', verifyToken, (req, res) => { - const { navLinks } = req.body; + const { navLinks } = req.body if (!navLinks || !Array.isArray(navLinks)) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Valid navLinks are required' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Valid navLinks are required' }) } const isValid = navLinks.every(link => link && typeof link === 'object' && 'href' in link && 'title' in link - ); + ) if (!isValid) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Each navLink must contain href and title' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Each navLink must contain href and title' }) } - data.navLinks = navLinks; - saveData(data); + data.navLinks = navLinks + saveData(data) - res.status(200).send({ 'status': 'OK', 'data': 'Navigation links updated successfully' }); -}); + res.status(200).send({ 'status': 'OK', 'data': 'Navigation links updated successfully' }) +}) adminRouter.post('/edit/links', verifyToken, (req, res) => { - const { links } = req.body; + const { links } = req.body if (!links || !Array.isArray(links)) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Valid links are required' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Valid links are required' }) } const isValid = links.every(link => link && typeof link === 'object' && 'href' in link && 'title' in link - ); + ) if (!isValid) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Each link must contain href and title' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Each link must contain href and title' }) } - data.links = links; - saveData(data); + data.links = links + saveData(data) - res.status(200).send({ 'status': 'OK', 'data': 'Links updated successfully' }); -}); + res.status(200).send({ 'status': 'OK', 'data': 'Links updated successfully' }) +}) adminRouter.post('/edit/projects', verifyToken, (req, res) => { - const { projects } = req.body; + const { projects } = req.body if (!projects) { - return res.status(400).send({ 'status': 'Failed', 'data': 'Projects are required' }); + return res.status(400).send({ 'status': 'Failed', 'data': 'Projects are required' }) } - const projectFields = ['id', 'title', 'description', 'link', 'techStack', 'image']; + const projectFields = ['id', 'title', 'description', 'link', 'techStack', 'image'] const isValidProject = (project) => { - return projectFields.every(field => field && field in project); + return projectFields.every(field => field && field in project) } - const allProjectsValid = projects.every(project => isValidProject(project)); + const allProjectsValid = projects.every(project => isValidProject(project)) if (!allProjectsValid) { - return res.status(400).send({ 'status': 'Failed', 'data': 'All projects must contain ' + projectFields.join(", ") }); + return res.status(400).send({ 'status': 'Failed', 'data': 'All projects must contain ' + projectFields.join(", ") }) } - data.projects = projects; - saveData(data); + data.projects = projects + saveData(data) - res.status(200).send({ 'status': 'OK', 'data': 'Projects updated successfully' }); -}); + res.status(200).send({ 'status': 'OK', 'data': 'Projects updated successfully' }) +}) -module.exports = adminRouter; +module.exports = adminRouter diff --git a/server/routers/epja-2024-1/cats/auth/index.js b/server/routers/epja-2024-1/cats/auth/index.js index 51a26a7..d270130 100644 --- a/server/routers/epja-2024-1/cats/auth/index.js +++ b/server/routers/epja-2024-1/cats/auth/index.js @@ -1,16 +1,16 @@ -const authRouter = require('express').Router(); -const { TOKEN } = require('../const'); +const authRouter = require('express').Router() +const { TOKEN } = require('../const') -module.exports = authRouter; +module.exports = authRouter authRouter.post('/login', (req, res) => { - const { email, password } = req.body; - console.log(`Login with email=${email} and password=${password}`); + const { email, password } = req.body + console.log(`Login with email=${email} and password=${password}`) if (email === 'admin@admin.admin' && password === 'admin') { - res.status(200).send({ 'status': 'OK', 'data': `${TOKEN}` }); + res.status(200).send({ 'status': 'OK', 'data': `${TOKEN}` }) } else { - res.status(401).send({ 'status': 'Failed!', 'data': 'Invalid email or password' }); + res.status(401).send({ 'status': 'Failed!', 'data': 'Invalid email or password' }) } -}); +}) diff --git a/server/routers/epja-2024-1/cats/const.js b/server/routers/epja-2024-1/cats/const.js index 7e32060..fe7634b 100644 --- a/server/routers/epja-2024-1/cats/const.js +++ b/server/routers/epja-2024-1/cats/const.js @@ -1,3 +1,3 @@ -const TOKEN = "ASDFGHJKLLKJHGFDSDFGHJKJHGF"; +const TOKEN = "ASDFGHJKLLKJHGFDSDFGHJKJHGF" module.exports = { TOKEN } \ No newline at end of file diff --git a/server/routers/epja-2024-1/cats/index.js b/server/routers/epja-2024-1/cats/index.js index b63490c..33ce025 100644 --- a/server/routers/epja-2024-1/cats/index.js +++ b/server/routers/epja-2024-1/cats/index.js @@ -1,11 +1,11 @@ -const authRouter = require('./auth'); -const adminRouter = require('./admin'); -const rootRouter = require('./root'); +const authRouter = require('./auth') +const adminRouter = require('./admin') +const rootRouter = require('./root') -const router = require('express').Router(); +const router = require('express').Router() -module.exports = router; +module.exports = router -router.use(`/auth`, authRouter); -router.use(`/admin`, adminRouter); -router.use(`/`, rootRouter); \ No newline at end of file +router.use(`/auth`, authRouter) +router.use(`/admin`, adminRouter) +router.use(`/`, rootRouter) \ No newline at end of file diff --git a/server/routers/epja-2024-1/cats/root/index.js b/server/routers/epja-2024-1/cats/root/index.js index ad2b541..9759358 100644 --- a/server/routers/epja-2024-1/cats/root/index.js +++ b/server/routers/epja-2024-1/cats/root/index.js @@ -1,44 +1,44 @@ -const rootRouter = require('express').Router(); -const data = require('../data.json'); +const rootRouter = require('express').Router() +const data = require('../data.json') rootRouter.get('/get/nickname', (req, res) => { - res.status(200).send({ 'status': 'OK', 'data': data.nickname }); -}); + res.status(200).send({ 'status': 'OK', 'data': data.nickname }) +}) rootRouter.get('/get/tech-stack', (req, res) => { - res.status(200).send({ 'status': 'OK', 'data': data.techStack }); -}); + res.status(200).send({ 'status': 'OK', 'data': data.techStack }) +}) rootRouter.get('/get/github-repo', (req, res) => { - res.status(200).send({ 'status': 'OK', 'data': data.githubRepo }); -}); + res.status(200).send({ 'status': 'OK', 'data': data.githubRepo }) +}) rootRouter.get('/get/city', (req, res) => { - res.status(200).send({ 'status': 'OK', 'data': data.city }); -}); + res.status(200).send({ 'status': 'OK', 'data': data.city }) +}) rootRouter.get('/get/nav-links', (req, res) => { - res.status(200).send({ 'status': 'OK', 'data': data.navLinks }); -}); + res.status(200).send({ 'status': 'OK', 'data': data.navLinks }) +}) rootRouter.get('/get/links', (req, res) => { - res.status(200).send({ 'status': 'OK', 'data': data.links }); -}); + res.status(200).send({ 'status': 'OK', 'data': data.links }) +}) rootRouter.get('/get/projects', (req, res) => { - res.status(200).send({ 'status': 'OK', 'data': data.projects }); -}); + res.status(200).send({ 'status': 'OK', 'data': data.projects }) +}) rootRouter.get('/get/projects/:id', (req, res) => { - const { id } = req.params; - const project = data.projects.find(p => p.id === id); + const { id } = req.params + const project = data.projects.find(p => p.id === id) if (project) { - res.status(200).send({ status: 'OK', data: project }); + res.status(200).send({ status: 'OK', data: project }) } else { - res.status(404).send({ status: 'NOT_FOUND', message: 'Project not found' }); + res.status(404).send({ status: 'NOT_FOUND', message: 'Project not found' }) } -}); +}) -module.exports = rootRouter; \ No newline at end of file +module.exports = rootRouter \ No newline at end of file diff --git a/server/routers/epja-2024-1/ecliptica/index.js b/server/routers/epja-2024-1/ecliptica/index.js index c23107a..fdec1b9 100644 --- a/server/routers/epja-2024-1/ecliptica/index.js +++ b/server/routers/epja-2024-1/ecliptica/index.js @@ -1,11 +1,9 @@ -const express = require('express'); +const plantsRouter = require('./plants/getPlants') +const calendarRouter = require('./plants_calendar/index') -const plantsRouter = require('./plants/getPlants'); -const calendarRouter = require('./plants_calendar/index'); +const router = require('express').Router() -const router = require('express').Router(); - -module.exports = router; +module.exports = router router.use('/plants',plantsRouter) router.use('/plants_calendar',calendarRouter) diff --git a/server/routers/epja-2024-1/ecliptica/plants/config.js b/server/routers/epja-2024-1/ecliptica/plants/config.js index 8b9b0c3..80d37e2 100644 --- a/server/routers/epja-2024-1/ecliptica/plants/config.js +++ b/server/routers/epja-2024-1/ecliptica/plants/config.js @@ -1,6 +1,6 @@ const CONFIG = { CLIENT_ID: 'kD2JXj1faSCYAWdT4B069wQAx89CZAkXmzTinRvH', CLIENT_SECRET: 'bJq7Uiwua52tHiLP80N60hALNtQX2wcE4Mj6yNA9OzG2iZbgHuqyeAs6WSWX6MNJdfv0Nqzb7OHta8qPZr4zxWBLTauleaMfraln3xFEvbXLDpi1Lcrwe7DxfgsQQ1E4', -}; +} -module.exports = CONFIG; \ No newline at end of file +module.exports = CONFIG \ No newline at end of file diff --git a/server/routers/epja-2024-1/ecliptica/plants/getPlants.js b/server/routers/epja-2024-1/ecliptica/plants/getPlants.js index c99cb9f..2ee1df0 100644 --- a/server/routers/epja-2024-1/ecliptica/plants/getPlants.js +++ b/server/routers/epja-2024-1/ecliptica/plants/getPlants.js @@ -1,14 +1,14 @@ -const express = require ('express'); -const axios = require ('axios'); -const plantsRouter = express.Router (); -const CONFIG = require ('./config'); +const express = require ('express') +const axios = require ('axios') +const plantsRouter = express.Router () +const CONFIG = require ('./config') async function getAccessToken () { - const formData = new FormData (); - formData.append ('grant_type', 'client_credentials'); - formData.append ('client_id', CONFIG.CLIENT_ID); - formData.append ('client_secret', CONFIG.CLIENT_SECRET); + const formData = new FormData () + formData.append ('grant_type', 'client_credentials') + formData.append ('client_id', CONFIG.CLIENT_ID) + formData.append ('client_secret', CONFIG.CLIENT_SECRET) try { const response = await axios.post ( @@ -17,27 +17,27 @@ async function getAccessToken () { { headers: {'Content-Type': 'multipart/form-data'}, } - ); + ) if (response.data && response.data.access_token) { - console.log ('Access token retrieved:', response.data.access_token); - return response.data.access_token; + console.log ('Access token retrieved:', response.data.access_token) + return response.data.access_token } else { - console.error ('Error: access_token not found in response'); - return null; + console.error ('Error: access_token not found in response') + return null } } catch (error) { console.error ( 'Error fetching access token:', error.response ? error.response.data : error.message - ); - return null; + ) + return null } } async function fetchPlantData (plantId) { - const accessToken = await getAccessToken (); + const accessToken = await getAccessToken () if (!accessToken) { - return null; + return null } try { const response = await axios.get ( @@ -47,25 +47,25 @@ async function fetchPlantData (plantId) { Authorization: `Bearer ${accessToken}`, }, } - ); - return response.data; + ) + return response.data } catch (error) { console.error ( 'Error fetching plant data:', error.response ? error.response.data : error.message - ); - return null; + ) + return null } } plantsRouter.get ('/list', async (req, res) => { - const accessToken = await getAccessToken (); + const accessToken = await getAccessToken () if (!accessToken) { - res.status (500).send ({message: 'Error obtaining access token'}); - return; + res.status (500).send ({message: 'Error obtaining access token'}) + return } try { - const alias = req.query.alias || 'monstera'; + const alias = req.query.alias || 'monstera' const response = await axios.get ( 'https://open.plantbook.io/api/v1/plant/search', { @@ -76,13 +76,13 @@ plantsRouter.get ('/list', async (req, res) => { alias: alias, }, } - ); + ) - const plantsList = response.data.results; + const plantsList = response.data.results const plants = await Promise.all ( plantsList.map (async plant => { - const plantDetails = await fetchPlantData (plant.pid); + const plantDetails = await fetchPlantData (plant.pid) return { id: plant.pid, alias: plant.alias, @@ -98,23 +98,23 @@ plantsRouter.get ('/list', async (req, res) => { min_soil_moist: plantDetails ? plantDetails.min_soil_moist : null, max_soil_ec: plantDetails ? plantDetails.max_soil_ec : null, min_soil_ec: plantDetails ? plantDetails.min_soil_ec : null, - }; + } }) - ); + ) - res.send ({results: plants}); + res.send ({results: plants}) } catch (error) { console.error ( 'Error fetching plant list:', error.response ? error.response.data : error.message - ); - res.status (500).send ({message: 'Error fetching plant list'}); + ) + res.status (500).send ({message: 'Error fetching plant list'}) } -}); +}) plantsRouter.get ('/:id', async (req, res) => { - const plantId = req.params.id; - const plantData = await fetchPlantData (plantId); + const plantId = req.params.id + const plantData = await fetchPlantData (plantId) if (plantData) { const detailedPlantData = { @@ -132,12 +132,12 @@ plantsRouter.get ('/:id', async (req, res) => { max_soil_ec: plantData.max_soil_ec, min_soil_ec: plantData.min_soil_ec, image_url: plantData.image_url, - }; + } - res.send (detailedPlantData); + res.send (detailedPlantData) } else { - res.status (404).send ({message: 'Plant not found'}); + res.status (404).send ({message: 'Plant not found'}) } -}); +}) -module.exports = plantsRouter; +module.exports = plantsRouter diff --git a/server/routers/epja-2024-1/ecliptica/plants_calendar/index.js b/server/routers/epja-2024-1/ecliptica/plants_calendar/index.js index a55a8f9..d614d4c 100644 --- a/server/routers/epja-2024-1/ecliptica/plants_calendar/index.js +++ b/server/routers/epja-2024-1/ecliptica/plants_calendar/index.js @@ -1,4 +1,4 @@ -const express = require('express'); +const express = require('express') const plantsRouter = express.Router() @@ -15,28 +15,28 @@ const plants = [ frequency: 3, startDate: "2024-10-05", }, -]; +] const calculateWateringDates = (startDate, frequency) => { - const dates = []; - const start = new Date(startDate); + const dates = [] + const start = new Date(startDate) for (let i = 0; i < 30; i += frequency) { - const nextWateringDate = new Date(start); - nextWateringDate.setDate(start.getDate() + i); - dates.push(nextWateringDate.toISOString().split('T')[0]); + const nextWateringDate = new Date(start) + nextWateringDate.setDate(start.getDate() + i) + dates.push(nextWateringDate.toISOString().split('T')[0]) } - return dates; -}; + return dates +} const plantsWithDates = plants.map(plant => ({ ...plant, wateringDates: calculateWateringDates(plant.startDate, plant.frequency), -})); +})) plantsRouter.get('/api/plants', (req, res) => { - res.json(plantsWithDates); -}); + res.json(plantsWithDates) +}) -module.exports = plantsRouter; \ No newline at end of file +module.exports = plantsRouter \ No newline at end of file diff --git a/server/routers/epja-2024-1/enterfront/auth/index.js b/server/routers/epja-2024-1/enterfront/auth/index.js index abfd874..4b3488f 100644 --- a/server/routers/epja-2024-1/enterfront/auth/index.js +++ b/server/routers/epja-2024-1/enterfront/auth/index.js @@ -1,43 +1,43 @@ -const authRouter = require('express').Router(); +const authRouter = require('express').Router() // For creating tokens -const jwt = require('jsonwebtoken'); +const jwt = require('jsonwebtoken') const { TOKEN_KEY } = require('../key') -module.exports = authRouter; +module.exports = authRouter -const { addUserToDB, getUserFromDB } = require('../db'); +const { addUserToDB, getUserFromDB } = require('../db') // Get a user by its id authRouter.get('/:id', (req, res) => { - const user = getUserFromDB(req.params.id); + const user = getUserFromDB(req.params.id) if (user) { - res.status(200).send({user}); + res.status(200).send({user}) } else { - res.status(404).send({message: 'User was not found'}); + res.status(404).send({message: 'User was not found'}) } }) // For login (authorization) authRouter.post('/login', (req, res) => { - const { name, password } = req.body; + const { name, password } = req.body - const user = getUserFromDB(name); + const user = getUserFromDB(name) // Invalid identification if (!user) { - res.status(401).send({message: 'Invalid credentials (id)'}); - return; + res.status(401).send({message: 'Invalid credentials (id)'}) + return } // Invalid authentication if (!password || password !== user.password) { - res.status(401).send({message: 'Invalid credentials (password)'}); - return; + res.status(401).send({message: 'Invalid credentials (password)'}) + return } // Now, authorization @@ -45,29 +45,29 @@ authRouter.post('/login', (req, res) => { expiresIn: '1h' }) - res.status(200).send({token}); + res.status(200).send({token}) }) authRouter.post('/reg', (req, res) => { - const { name, password, nickname } = req.body; + const { name, password, nickname } = req.body - const user = getUserFromDB(name); + const user = getUserFromDB(name) // Invalid identification if (user) { - res.status(409).send({message: 'Such id already exists'}); - return; + res.status(409).send({message: 'Such id already exists'}) + return } if (!name || !password || !nickname) { - res.status(401).send({message: 'Empty or invalid fields'}); - return; + res.status(401).send({message: 'Empty or invalid fields'}) + return } // Add to 'DB' - const newUser = {id: name, password: password, nickname: nickname}; + const newUser = {id: name, password: password, nickname: nickname} addUserToDB(newUser) - res.status(200).send({user: newUser}); + res.status(200).send({user: newUser}) }) diff --git a/server/routers/epja-2024-1/enterfront/change/index.js b/server/routers/epja-2024-1/enterfront/change/index.js index b5d2b7e..0669000 100644 --- a/server/routers/epja-2024-1/enterfront/change/index.js +++ b/server/routers/epja-2024-1/enterfront/change/index.js @@ -1,45 +1,45 @@ -const changeRouter = require('express').Router(); +const changeRouter = require('express').Router() -module.exports = changeRouter; +module.exports = changeRouter -const { getUserFromDB, deleteUserFromDB, addUserToDB } = require('../db'); +const { getUserFromDB, deleteUserFromDB, addUserToDB } = require('../db') changeRouter.post('/nickname', (req, res) => { - const { id, newNickname } = req.body; + const { id, newNickname } = req.body - const user = getUserFromDB(id); + const user = getUserFromDB(id) // Invalid identification if (!user) { - res.status(401).send({message: 'Invalid credentials (id)'}); - return; + res.status(401).send({message: 'Invalid credentials (id)'}) + return } const updatedUser = { "nickname": newNickname, "password": user.password, "id": user.id - }; + } // Delete the old one deleteUserFromDB(id) // Insert updated - addUserToDB(updatedUser); + addUserToDB(updatedUser) - res.status(200).send({}); -}); + res.status(200).send({}) +}) changeRouter.post('/password', (req, res) => { - const { id, newPassword } = req.body; + const { id, newPassword } = req.body - const user = getUserFromDB(id); + const user = getUserFromDB(id) // Invalid identification if (!user) { - res.status(401).send({message: 'Invalid credentials (id)'}); - return; + res.status(401).send({message: 'Invalid credentials (id)'}) + return } // Delete the old one @@ -50,15 +50,15 @@ changeRouter.post('/password', (req, res) => { "nickname": user.nickname, "password": newPassword, "id": user.id - }; - addUserToDB(updatedUser); + } + addUserToDB(updatedUser) - res.status(200).send({}); -}); + res.status(200).send({}) +}) changeRouter.delete('/:id', (req, res) => { - const { id } = req.params; + const { id } = req.params - deleteUserFromDB(id); -}); + deleteUserFromDB(id) +}) diff --git a/server/routers/epja-2024-1/enterfront/chat/index.js b/server/routers/epja-2024-1/enterfront/chat/index.js index ce2f169..2ac9012 100644 --- a/server/routers/epja-2024-1/enterfront/chat/index.js +++ b/server/routers/epja-2024-1/enterfront/chat/index.js @@ -1,43 +1,43 @@ -const chatRouter = require('express').Router(); +const chatRouter = require('express').Router() -module.exports = chatRouter; +module.exports = chatRouter const { getChatFromDB, getUsersChats, addChatToDB, getUserFromDB, - addMessageToChat} = require('../db'); + addMessageToChat} = require('../db') chatRouter.get('/item/:id1/:id2', (req, res) => { - const { id1, id2 } = req.params; + const { id1, id2 } = req.params if (id1 === id2) { - res.status(400).send({message: 'Ids should be different'}); - return; + res.status(400).send({message: 'Ids should be different'}) + return } - const chat = getChatFromDB(id1, id2); + const chat = getChatFromDB(id1, id2) if (chat) { - res.status(200).send({chat}); + res.status(200).send({chat}) } else { - res.status(404).send({message: 'Chat was not found'}); + res.status(404).send({message: 'Chat was not found'}) } }) chatRouter.post('/item/:id1/:id2', (req, res) => { - const { id1, id2 } = req.params; + const { id1, id2 } = req.params if (id1 === id2) { - res.status(400).send({message: 'Ids should be different'}); - return; + res.status(400).send({message: 'Ids should be different'}) + return } - const chat = getChatFromDB(id1, id2); + const chat = getChatFromDB(id1, id2) if (chat) { // Chat already exists - res.status(200).send({chat}); + res.status(200).send({chat}) } else { if (!getUserFromDB(id1) || !getUserFromDB(id2)) { - res.status(404).send({message: 'Such interlocutor does not exist'}); + res.status(404).send({message: 'Such interlocutor does not exist'}) } else { // Creating new chat const newChat = { @@ -46,41 +46,41 @@ chatRouter.post('/item/:id1/:id2', (req, res) => { messages: [] } - addChatToDB(newChat); + addChatToDB(newChat) - res.status(200).send({newChat}); + res.status(200).send({newChat}) } } }) chatRouter.get('/list/:id', (req, res) => { - const { id } = req.params; + const { id } = req.params - const userChats = getUsersChats(id); + const userChats = getUsersChats(id) if (!userChats) { - res.status(404).send({message: 'Error with retrieving chats'}); + res.status(404).send({message: 'Error with retrieving chats'}) } else { - res.status(200).send({chats: userChats}); + res.status(200).send({chats: userChats}) } }) chatRouter.post('/message/:sender/:receiver', (req, res) => { - const { sender, receiver } = req.params; - const { message } = req.body; + const { sender, receiver } = req.params + const { message } = req.body - const chat = getChatFromDB(sender, receiver); + const chat = getChatFromDB(sender, receiver) if (!chat) { // Chat already exists - res.status(400).send({message: "Such chat does not exist"}); + res.status(400).send({message: "Such chat does not exist"}) } else { if (!getUserFromDB(sender) || !getUserFromDB(receiver)) { - res.status(404).send({message: 'Such people do not exist'}); + res.status(404).send({message: 'Such people do not exist'}) } else { // Add new message - addMessageToChat(chat, message); - res.status(200).send({}); + addMessageToChat(chat, message) + res.status(200).send({}) } } }) diff --git a/server/routers/epja-2024-1/enterfront/db.js b/server/routers/epja-2024-1/enterfront/db.js index 1a573d0..26083b9 100644 --- a/server/routers/epja-2024-1/enterfront/db.js +++ b/server/routers/epja-2024-1/enterfront/db.js @@ -1,72 +1,72 @@ // Read already defined users (pseudo-DB) -const users = require('./auth/users.json'); -const chats = require('./chat/chats.json'); +const users = require('./auth/users.json') +const chats = require('./chat/chats.json') const getUserFromDB = (userID) => { - if (!userID) {return false;} + if (!userID) {return false} // Accessing 'DB' - const user = users.find((user) => user.id === userID); + const user = users.find((user) => user.id === userID) if (user) { - return user; + return user } else { - return false; + return false } } const deleteUserFromDB = (userID) => { - const index = users.findIndex(item => item.id === userID); + const index = users.findIndex(item => item.id === userID) if (index !== -1) { - users.splice(index, 1); + users.splice(index, 1) } } const addUserToDB = (user) => { - users.push(user); + users.push(user) } const getChatFromDB = (firstID, secondID) => { - if (!firstID || !secondID) {return false;} + if (!firstID || !secondID) {return false} // Accessing 'DB' const chat = chats.find((item) => - (item.id1 === firstID && item.id2 === secondID) || (item.id1 === secondID && item.id2 === firstID)); + (item.id1 === firstID && item.id2 === secondID) || (item.id1 === secondID && item.id2 === firstID)) if (chat) { - return chat; + return chat } else { - return false; + return false } } const getUsersChats = (userID) => { - if (!userID) {return false;} + if (!userID) {return false} - const userChats = chats.filter((chat) => (chat.id1 === userID || chat.id2 === userID)); + const userChats = chats.filter((chat) => (chat.id1 === userID || chat.id2 === userID)) if (userChats) { - return userChats; + return userChats } else { - return false; + return false } } const addMessageToChat = (chat, msg) => { - chat.messages.push(msg); + chat.messages.push(msg) } const deleteChatFromDB = (firstID, secondID) => { const index = chats.findIndex(item => - (item.id1 === firstID && item.id2 === secondID) || (item.id1 === secondID && item.id2 === firstID)); + (item.id1 === firstID && item.id2 === secondID) || (item.id1 === secondID && item.id2 === firstID)) if (index !== -1) { - chats.splice(index, 1); + chats.splice(index, 1) } } const addChatToDB = (chat) => { - chats.push(chat); + chats.push(chat) } diff --git a/server/routers/epja-2024-1/enterfront/index.js b/server/routers/epja-2024-1/enterfront/index.js index 17f1ced..7f3a4d5 100644 --- a/server/routers/epja-2024-1/enterfront/index.js +++ b/server/routers/epja-2024-1/enterfront/index.js @@ -1,17 +1,17 @@ -const changeRouter = require("./change"); -const authRouter = require("./auth"); -const chatRouter = require("./chat"); +const changeRouter = require("./change") +const authRouter = require("./auth") +const chatRouter = require("./chat") -const router = require('express').Router(); +const router = require('express').Router() -const delay = require('./middlewares/delay'); -const verify = require('./middlewares/verify'); +const delay = require('./middlewares/delay') +const verify = require('./middlewares/verify') -module.exports = router; +module.exports = router // router.use(delay(300)); // router.use('/books', delay, booksRouter); -router.use('/auth', authRouter); -router.use('/change', verify, changeRouter); +router.use('/auth', authRouter) +router.use('/change', verify, changeRouter) router.use('/chat', verify, chatRouter) diff --git a/server/routers/epja-2024-1/enterfront/key.js b/server/routers/epja-2024-1/enterfront/key.js index d02db5a..563f8ca 100644 --- a/server/routers/epja-2024-1/enterfront/key.js +++ b/server/routers/epja-2024-1/enterfront/key.js @@ -1,3 +1,3 @@ -const TOKEN_KEY = '5frv12e4few3r'; +const TOKEN_KEY = '5frv12e4few3r' module.exports = { TOKEN_KEY } \ No newline at end of file diff --git a/server/routers/epja-2024-1/enterfront/middlewares/verify.js b/server/routers/epja-2024-1/enterfront/middlewares/verify.js index e0c462c..c1f020c 100644 --- a/server/routers/epja-2024-1/enterfront/middlewares/verify.js +++ b/server/routers/epja-2024-1/enterfront/middlewares/verify.js @@ -1,22 +1,22 @@ -const jwt = require('jsonwebtoken'); +const jwt = require('jsonwebtoken') const { TOKEN_KEY } = require('../key') function verifyToken(req, res, next) { - const token = req.headers['authorization']?.split(' ')[1]; + const token = req.headers['authorization']?.split(' ')[1] if (!token) { - return res.status(401).send({ message: 'No token provided' }); + return res.status(401).send({ message: 'No token provided' }) } // Verify token jwt.verify(token, TOKEN_KEY, (err, decoded) => { if (err) { - return res.status(401).send({ message: 'Unauthorized' }); + return res.status(401).send({ message: 'Unauthorized' }) } - next(); // Proceed to the next middleware or route - }); + next() // Proceed to the next middleware or route + }) } -module.exports = verifyToken; +module.exports = verifyToken diff --git a/server/routers/epja-2024-1/index.js b/server/routers/epja-2024-1/index.js index 5b0e565..309eab9 100644 --- a/server/routers/epja-2024-1/index.js +++ b/server/routers/epja-2024-1/index.js @@ -1,5 +1,5 @@ -const express = require('express') -const router = express.Router() +const { Router } = require('express') +const router = Router() router.use('/enterfront', require('./enterfront/index')) diff --git a/server/routers/example/index.js b/server/routers/example/index.js deleted file mode 100644 index 85e655e..0000000 --- a/server/routers/example/index.js +++ /dev/null @@ -1,19 +0,0 @@ -const router = require('express').Router() - -const first = router.get('/first', (req, res) => { - res.send({ - success: true, - warnings: [{ - title: 'Внимание', - text: 'Данный api создан для примера!', - }], - }) - - /** - * Этот эндпоинт будет доступен по адресу http://89.223.91.151:8080/multystub/example/first - */ -}) - -router.use('/example-api', first) - -module.exports = router diff --git a/server/routers/basket/auth.js b/server/routers/old/basket/auth.js similarity index 100% rename from server/routers/basket/auth.js rename to server/routers/old/basket/auth.js diff --git a/server/routers/basket/categories.js b/server/routers/old/basket/categories.js similarity index 100% rename from server/routers/basket/categories.js rename to server/routers/old/basket/categories.js diff --git a/server/routers/basket/controller.js b/server/routers/old/basket/controller.js similarity index 99% rename from server/routers/basket/controller.js rename to server/routers/old/basket/controller.js index e98424d..9b958ee 100644 --- a/server/routers/basket/controller.js +++ b/server/routers/old/basket/controller.js @@ -1,7 +1,7 @@ const ObjectId = require('mongodb').ObjectID const getHash = require('pbkdf2-password')() -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') const USERS_COLLECTION = 'users' const LISTS_COLLECTION = 'lists' diff --git a/server/routers/basket/dashboard.js b/server/routers/old/basket/dashboard.js similarity index 100% rename from server/routers/basket/dashboard.js rename to server/routers/old/basket/dashboard.js diff --git a/server/routers/basket/index.js b/server/routers/old/basket/index.js similarity index 100% rename from server/routers/basket/index.js rename to server/routers/old/basket/index.js diff --git a/server/routers/basket/json/auth/sign-in.json b/server/routers/old/basket/json/auth/sign-in.json similarity index 100% rename from server/routers/basket/json/auth/sign-in.json rename to server/routers/old/basket/json/auth/sign-in.json diff --git a/server/routers/basket/json/categories/add/success.json b/server/routers/old/basket/json/categories/add/success.json similarity index 100% rename from server/routers/basket/json/categories/add/success.json rename to server/routers/old/basket/json/categories/add/success.json diff --git a/server/routers/basket/json/categories/current/success.json b/server/routers/old/basket/json/categories/current/success.json similarity index 100% rename from server/routers/basket/json/categories/current/success.json rename to server/routers/old/basket/json/categories/current/success.json diff --git a/server/routers/basket/json/dashboard/common/error.json b/server/routers/old/basket/json/dashboard/common/error.json similarity index 100% rename from server/routers/basket/json/dashboard/common/error.json rename to server/routers/old/basket/json/dashboard/common/error.json diff --git a/server/routers/basket/json/dashboard/common/success.json b/server/routers/old/basket/json/dashboard/common/success.json similarity index 100% rename from server/routers/basket/json/dashboard/common/success.json rename to server/routers/old/basket/json/dashboard/common/success.json diff --git a/server/routers/basket/json/dashboard/list/empty.json b/server/routers/old/basket/json/dashboard/list/empty.json similarity index 100% rename from server/routers/basket/json/dashboard/list/empty.json rename to server/routers/old/basket/json/dashboard/list/empty.json diff --git a/server/routers/basket/json/dashboard/list/error.json b/server/routers/old/basket/json/dashboard/list/error.json similarity index 100% rename from server/routers/basket/json/dashboard/list/error.json rename to server/routers/old/basket/json/dashboard/list/error.json diff --git a/server/routers/basket/json/dashboard/list/success.json b/server/routers/old/basket/json/dashboard/list/success.json similarity index 100% rename from server/routers/basket/json/dashboard/list/success.json rename to server/routers/old/basket/json/dashboard/list/success.json diff --git a/server/routers/basket/json/landing/error.json b/server/routers/old/basket/json/landing/error.json similarity index 100% rename from server/routers/basket/json/landing/error.json rename to server/routers/old/basket/json/landing/error.json diff --git a/server/routers/basket/json/landing/success.json b/server/routers/old/basket/json/landing/success.json similarity index 100% rename from server/routers/basket/json/landing/success.json rename to server/routers/old/basket/json/landing/success.json diff --git a/server/routers/basket/json/listItem/item/error.json b/server/routers/old/basket/json/listItem/item/error.json similarity index 100% rename from server/routers/basket/json/listItem/item/error.json rename to server/routers/old/basket/json/listItem/item/error.json diff --git a/server/routers/basket/json/listItem/item/success.json b/server/routers/old/basket/json/listItem/item/success.json similarity index 100% rename from server/routers/basket/json/listItem/item/success.json rename to server/routers/old/basket/json/listItem/item/success.json diff --git a/server/routers/basket/json/listItem/shoppingList/error.json b/server/routers/old/basket/json/listItem/shoppingList/error.json similarity index 100% rename from server/routers/basket/json/listItem/shoppingList/error.json rename to server/routers/old/basket/json/listItem/shoppingList/error.json diff --git a/server/routers/basket/json/listItem/shoppingList/success.json b/server/routers/old/basket/json/listItem/shoppingList/success.json similarity index 100% rename from server/routers/basket/json/listItem/shoppingList/success.json rename to server/routers/old/basket/json/listItem/shoppingList/success.json diff --git a/server/routers/basket/key.js b/server/routers/old/basket/key.js similarity index 100% rename from server/routers/basket/key.js rename to server/routers/old/basket/key.js diff --git a/server/routers/basket/landing.js b/server/routers/old/basket/landing.js similarity index 100% rename from server/routers/basket/landing.js rename to server/routers/old/basket/landing.js diff --git a/server/routers/basket/listItem.js b/server/routers/old/basket/listItem.js similarity index 100% rename from server/routers/basket/listItem.js rename to server/routers/old/basket/listItem.js diff --git a/server/routers/bushou/episodes/success.json b/server/routers/old/bushou/episodes/success.json similarity index 100% rename from server/routers/bushou/episodes/success.json rename to server/routers/old/bushou/episodes/success.json diff --git a/server/routers/bushou/images/60px-%E4%B8%80-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%80-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%80-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%80-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%80-bronze.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%80-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%80-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%80-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%80-clerical.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%80-clerical.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%80-clerical.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%80-clerical.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%80-oracle.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%80-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%80-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%80-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%80-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%80-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%80-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%80-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%80-silk.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%80-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%80-silk.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%80-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%80-slip.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%80-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%80-slip.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%80-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%A8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%A8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%A8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%A8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%A8-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%A8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%A8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%A8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%B6-bronze.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%B6-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%B6-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%B6-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%B6-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%B6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%B6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%B6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%BF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%BF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%BF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%BF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B8%BF-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%B8%BF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B8%BF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B8%BF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B9%99-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E4%B9%99-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B9%99-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B9%99-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B9%99-bronze.svg.png b/server/routers/old/bushou/images/60px-%E4%B9%99-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B9%99-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E4%B9%99-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B9%99-oracle.svg.png b/server/routers/old/bushou/images/60px-%E4%B9%99-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B9%99-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E4%B9%99-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B9%99-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%B9%99-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B9%99-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%B9%99-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%B9%99-silk.svg.png b/server/routers/old/bushou/images/60px-%E4%B9%99-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%B9%99-silk.svg.png rename to server/routers/old/bushou/images/60px-%E4%B9%99-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%85-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%85-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%85-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%85-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%8C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%8C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%8C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%8C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%8C-bronze.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%8C-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%8C-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%8C-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%8C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%8C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%8C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%8C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%8C-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%8C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%8C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%8C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%8C-silk.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%8C-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%8C-silk.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%8C-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%8C-slip.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%8C-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%8C-slip.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%8C-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%A0-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%A0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%A0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%A0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-bronze.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-oracle.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-silk.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-silk.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BA%BA-slip.svg.png b/server/routers/old/bushou/images/60px-%E4%BA%BA-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BA%BA-slip.svg.png rename to server/routers/old/bushou/images/60px-%E4%BA%BA-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BB%8C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E4%BB%8C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BB%8C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BB%8C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BB%8C-bronze.svg.png b/server/routers/old/bushou/images/60px-%E4%BB%8C-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BB%8C-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E4%BB%8C-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BB%8C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E4%BB%8C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BB%8C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E4%BB%8C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E4%BB%8C-seal.svg.png b/server/routers/old/bushou/images/60px-%E4%BB%8C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E4%BB%8C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E4%BB%8C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%84%BF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%84%BF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%84%BF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%84%BF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%84%BF-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%84%BF-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%84%BF-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%84%BF-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%84%BF-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%84%BF-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%84%BF-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%84%BF-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%84%BF-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%84%BF-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%84%BF-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%84%BF-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%84%BF-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%84%BF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%84%BF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%84%BF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%A5-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%85%A5-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%A5-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%A5-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%A5-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%85%A5-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%A5-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%A5-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%A5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%85%A5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%A5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%A5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%A5-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%85%A5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%A5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%A5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%A5-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%85%A5-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%A5-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%A5-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%AB-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%85%AB-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%AB-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%AB-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%AB-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%85%AB-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%AB-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%AB-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%AB-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%85%AB-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%AB-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%AB-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%AB-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%85%AB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%AB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%AB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%AB-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%85%AB-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%AB-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%AB-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%85%AB-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%85%AB-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%85%AB-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%85%AB-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%82-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%86%82-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%82-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%82-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%82-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%86%82-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%82-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%82-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%82-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%86%82-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%82-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%82-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%88-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%86%88-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%88-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%88-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%88-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E5%86%88-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%88-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%88-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%88-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E5%86%88-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%88-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%88-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%88-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%86%88-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%88-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%88-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%8E-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%86%8E-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%8E-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%8E-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%8E-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%86%8E-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%8E-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%8E-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%96-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%86%96-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%96-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%96-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%96-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%86%96-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%96-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%96-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%86%96-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%86%96-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%86%96-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%86%96-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%87%A0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%87%A0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%87%A0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%87%A0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%87%A0-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%87%A0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%87%A0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%87%A0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%87%A0-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%87%A0-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%87%A0-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%87%A0-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%87%B5-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%87%B5-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%87%B5-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%87%B5-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%87%B5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%87%B5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%87%B5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%87%B5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%87%B5-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%87%B5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%87%B5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%87%B5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%87%B5-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%87%B5-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%87%B5-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%87%B5-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%88%80-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%88%80-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%88%80-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%88%80-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%88%80-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%88%80-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%88%80-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%88%80-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%88%80-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%88%80-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%88%80-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%88%80-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%88%80-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%88%80-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%88%80-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%88%80-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%88%80-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%88%80-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%88%80-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%88%80-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%88%80-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%88%80-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%88%80-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%88%80-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8A%9B-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%8A%9B-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8A%9B-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%8A%9B-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8B%B9-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8B%B9-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8B%B9-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8B%B9-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8B%B9-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8B%B9-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8B%B9-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8B%B9-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8B%B9-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8B%B9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8B%B9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8B%B9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%95-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%95-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%95-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%95-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%95-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%95-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%95-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%95-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%95-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%95-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%95-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%95-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%95-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%95-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%95-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%95-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%95-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%95-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%95-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%95-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%95-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%95-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%95-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%95-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%9A-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%9A-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%9A-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%9A-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%9A-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%9A-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%9A-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%9A-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%9A-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%9A-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%9A-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%9A-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%9A-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%9A-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%9A-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%9A-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%B8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%B8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%B8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%B8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%B8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%B8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%B8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%B8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%B8-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%B8-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%B8-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%B8-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%B8-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%B8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%B8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%B8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8C%B8-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8C%B8-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8C%B8-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8C%B8-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%81-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%81-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%81-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%81-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%9C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%9C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%9C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%9C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%9C-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%9C-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%9C-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%9C-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%9C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%9C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%9C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%9C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%9C-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%9C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%9C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%9C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%9C-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%9C-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%9C-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%9C-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%9C-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%9C-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%9C-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%9C-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%A9-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%A9-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%A9-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%A9-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%A9-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%A9-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%A9-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%A9-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8D%A9-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8D%A9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8D%A9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8D%A9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%82-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%82-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%82-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%82-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%82-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%82-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%82-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%82-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%82-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%82-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%82-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%82-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%82-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%82-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%82-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%82-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%B6-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%B6-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%B6-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%B6-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%B6-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%B6-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%B6-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%B6-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%B6-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%B6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%B6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%B6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8E%B6-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8E%B6-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8E%B6-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8E%B6-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%88-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%88-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%88-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%88-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%88-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%88-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%88-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%88-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%88-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%88-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%88-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%88-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%88-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%88-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%88-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%88-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%88-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%88-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%88-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%88-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%A3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%A3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%A3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%A3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%A3-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%A3-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%A3-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%A3-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%A3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%A3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%A3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%A3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%A3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%A3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%A3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%A3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%A3-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%A3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%A3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%A3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%8F%A3-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%8F%A3-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%8F%A3-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%8F%A3-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9B%97-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%9B%97-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9B%97-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%9B%97-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9B%97-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%9B%97-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9B%97-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%9B%97-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9B%97-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%9B%97-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9B%97-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%9B%97-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9B%97-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%9B%97-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9B%97-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%9B%97-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9C%9F-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%9C%9F-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9C%9F-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%9C%9F-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9C%9F-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E5%9C%9F-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9C%9F-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E5%9C%9F-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9C%9F-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%9C%9F-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9C%9F-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%9C%9F-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9C%9F-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%9C%9F-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9C%9F-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%9C%9F-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9C%9F-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%9C%9F-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9C%9F-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%9C%9F-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9C%9F-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%9C%9F-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9C%9F-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%9C%9F-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%9C%9F-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%9C%9F-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%9C%9F-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%9C%9F-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A3%AB-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%A3%AB-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A3%AB-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A3%AB-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A3%AB-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%A3%AB-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A3%AB-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%A3%AB-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A3%AB-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%A3%AB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A3%AB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A3%AB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A3%AB-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%A3%AB-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A3%AB-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%A3%AB-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A3%AB-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%A3%AB-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A3%AB-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%A3%AB-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%82-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%82-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%82-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%82-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%8A-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%8A-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%8A-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%8A-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%8A-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%8A-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%8A-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%8A-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%95-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%95-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%95-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%95-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%95-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%95-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%95-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%95-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%95-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%95-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%95-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%95-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%95-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%95-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%95-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%95-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%95-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%95-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%95-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%95-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%A7-zhou.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%A7-zhou.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%A7-zhou.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%A7-zhou.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A4%B6-ancient.svg.png b/server/routers/old/bushou/images/60px-%E5%A4%B6-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A4%B6-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E5%A4%B6-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A5%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%A5%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A5%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A5%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A5%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%A5%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A5%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%A5%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A5%B3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%A5%B3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A5%B3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%A5%B3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A5%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%A5%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A5%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%A5%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%A5%B3-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%A5%B3-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%A5%B3-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%A5%B3-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AD%90-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%AD%90-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AD%90-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%AD%90-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AD%90-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%AD%90-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AD%90-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%AD%90-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AD%90-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%AD%90-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AD%90-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%AD%90-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AD%90-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%AD%90-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AD%90-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%AD%90-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AD%90-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%AD%90-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AD%90-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%AD%90-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AE%80-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%AE%80-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AE%80-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%AE%80-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AE%80-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%AE%80-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AE%80-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%AE%80-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AE%80-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%AE%80-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AE%80-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%AE%80-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AE%80-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%AE%80-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AE%80-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%AE%80-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AF%B8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%AF%B8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AF%B8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%AF%B8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AF%B8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%AF%B8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AF%B8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%AF%B8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AF%B8-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%AF%B8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AF%B8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%AF%B8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%AF%B8-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%AF%B8-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%AF%B8-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%AF%B8-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%8F-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%8F-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%8F-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%8F-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%8F-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%8F-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%8F-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%8F-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%8F-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%8F-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%8F-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%8F-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%8F-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%8F-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%8F-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%8F-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%8F-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%8F-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%8F-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%8F-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%A2-ancient.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%A2-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%A2-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%A2-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%A2-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%A2-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%A2-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%A2-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%A2-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%A2-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%A2-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%A2-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%A2-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%A2-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%A2-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%A2-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%B8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%B8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%B8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%B8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%B8-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%B8-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%B8-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%B8-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%B8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%B8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%B8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%B8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%B8-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%B8-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%B8-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%B8-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%B8-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%B8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%B8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%B8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B0%B8-slip.svg.png b/server/routers/old/bushou/images/60px-%E5%B0%B8-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B0%B8-slip.svg.png rename to server/routers/old/bushou/images/60px-%E5%B0%B8-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%AE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%AE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%AE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%AE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%AE-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%AE-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%AE-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%AE-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%AE-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%AE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%AE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%AE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%AE-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%AE-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%AE-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%AE-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%B1-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%B1-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%B1-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%B1-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%B1-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%B1-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%B1-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%B1-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%B1-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%B1-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%B1-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%B1-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%B1-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%B1-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%B1-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%B1-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B1%B1-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%B1%B1-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B1%B1-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%B1%B1-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%9D-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%9D-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%9D-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%9D-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%9D-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%9D-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%9D-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%9D-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%9D-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%9D-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%9D-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%9D-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%9D-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%9D-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%9D-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%9D-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%9D-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%9D-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%9D-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%9D-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%A5-ancient.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%A5-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%A5-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%A5-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%A5-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%A5-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%A5-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%A5-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%A5-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%A5-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%A5-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%A5-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%A5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%A5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%A5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%A5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%A5-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%A5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%A5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%A5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%A5-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%A5-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%A5-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%A5-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%B1-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%B1-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%B1-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%B1-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%B1-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%B1-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%B1-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%B1-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%B1-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%B1-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%B1-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%B1-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%B1-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%B1-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%B1-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%B1-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%B1-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%B1-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%B1-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%B1-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%BE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%BE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%BE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%BE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%BE-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%BE-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%BE-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%BE-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%BE-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%BE-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%BE-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%BE-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B7%BE-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B7%BE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B7%BE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B7%BE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%B2-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%B2-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%B2-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%B2-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%B2-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%B2-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%B2-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%B2-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%B2-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%B2-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%B2-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%B2-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%B2-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%B2-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%B2-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%B2-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%B2-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%B2-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%B2-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%B2-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%BA-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%BA-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%BA-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%BA-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%BA-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%BA-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%BA-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%BA-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%BF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%BF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%BF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%BF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%BF-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%BF-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%BF-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%BF-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%B9%BF-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%B9%BF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%B9%BF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%B9%BF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BB%B4-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%BB%B4-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BB%B4-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BB%B4-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BB%B4-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BB%B4-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BB%B4-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BB%B4-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BB%BE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%BB%BE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BB%BE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BB%BE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BB%BE-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%BB%BE-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BB%BE-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%BB%BE-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BB%BE-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%BB%BE-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BB%BE-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%BB%BE-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BB%BE-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BB%BE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BB%BE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BB%BE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%8B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%8B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%8B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%8B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%8B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%8B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%8B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%8B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%8B-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%8B-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%8B-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%8B-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%8B-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%8B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%8B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%8B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%8B-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%8B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%8B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%8B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%8C-ancient.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%8C-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%8C-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%8C-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%8D-ancient.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%8D-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%8D-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%8D-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%93-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%93-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%93-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%93-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%93-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%93-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%93-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%93-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%93-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%93-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%93-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%93-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%93-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%93-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%93-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%93-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BC%93-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%BC%93-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BC%93-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%BC%93-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BD%90-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BD%90-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BD%90-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BD%90-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BD%A1-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%BD%A1-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BD%A1-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BD%A1-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BD%A1-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BD%A1-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BD%A1-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BD%A1-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BD%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%BD%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BD%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BD%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BD%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%BD%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BD%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%BD%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BD%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BD%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BD%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BD%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BF%83-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E5%BF%83-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BF%83-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BF%83-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BF%83-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E5%BF%83-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BF%83-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E5%BF%83-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BF%83-bronze.svg.png b/server/routers/old/bushou/images/60px-%E5%BF%83-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BF%83-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E5%BF%83-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BF%83-oracle.svg.png b/server/routers/old/bushou/images/60px-%E5%BF%83-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BF%83-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E5%BF%83-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BF%83-seal.svg.png b/server/routers/old/bushou/images/60px-%E5%BF%83-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BF%83-seal.svg.png rename to server/routers/old/bushou/images/60px-%E5%BF%83-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E5%BF%83-silk.svg.png b/server/routers/old/bushou/images/60px-%E5%BF%83-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E5%BF%83-silk.svg.png rename to server/routers/old/bushou/images/60px-%E5%BF%83-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%88-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%88%88-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%88-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%88-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%88-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%88%88-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%88-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%88-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%88-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%88%88-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%88-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%88-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%88-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%88%88-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%88-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%88-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%B6-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%88%B6-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%B6-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%B6-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%B6-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%88%B6-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%B6-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%B6-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%B6-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%88%B6-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%B6-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%B6-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%B6-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%88%B6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%B6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%B6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%88%B6-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%88%B6-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%88%B6-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%88%B6-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%89%8B-ancient.svg.png b/server/routers/old/bushou/images/60px-%E6%89%8B-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%89%8B-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E6%89%8B-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E6%89%8B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%89%8B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%89%8B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%89%8B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%89%8B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%89%8B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%89%8B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%89%8B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%89%8B-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%89%8B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%89%8B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%89%8B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%89%8B-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%89%8B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%89%8B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%89%8B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%89%8B-slip.svg.png b/server/routers/old/bushou/images/60px-%E6%89%8B-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%89%8B-slip.svg.png rename to server/routers/old/bushou/images/60px-%E6%89%8B-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E6%94%AF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%94%AF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%94%AF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%94%AF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%94%AF-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%94%AF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%94%AF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%94%AF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%94%AF-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%94%AF-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%94%AF-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%94%AF-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%94%B4-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%94%B4-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%94%B4-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%94%B4-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%94%B4-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%94%B4-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%94%B4-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%94%B4-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%94%B4-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%94%B4-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%94%B4-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%94%B4-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%87-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%87-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%87-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%87-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%87-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%96%87-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%87-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%87-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%87-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%96%87-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%87-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%87-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%87-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%87-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%87-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%87-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%87-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%96%87-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%87-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%87-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%97-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%97-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%97-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%97-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%97-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E6%96%97-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%97-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%97-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%97-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E6%96%97-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%97-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%97-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%97-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%96%97-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%97-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%97-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%97-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%97-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%97-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%97-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%97-slip.svg.png b/server/routers/old/bushou/images/60px-%E6%96%97-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%97-slip.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%97-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%A4-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%A4-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%A4-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%A4-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%A4-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%96%A4-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%A4-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%A4-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%A4-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%96%A4-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%A4-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%A4-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%A4-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%A4-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%A4-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%A4-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%A4-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%96%A4-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%A4-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%A4-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%B9-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%B9-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%B9-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%B9-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%B9-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%96%B9-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%B9-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%B9-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%B9-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%96%B9-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%B9-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%B9-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%B9-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%96%B9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%B9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%B9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%96%B9-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%96%B9-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%96%B9-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%96%B9-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%97%A0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%97%A0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%97%A0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%97%A0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%97%A0-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%97%A0-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%97%A0-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%97%A0-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%97%A5-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%97%A5-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%97%A5-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%97%A5-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%97%A5-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%97%A5-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%97%A5-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%97%A5-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%97%A5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%97%A5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%97%A5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%97%A5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%97%A5-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%97%A5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%97%A5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%97%A5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%97%A5-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%97%A5-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%97%A5-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%97%A5-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9B%B0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%9B%B0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9B%B0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%9B%B0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9B%B0-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%9B%B0-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9B%B0-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%9B%B0-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9B%B0-clerical.svg.png b/server/routers/old/bushou/images/60px-%E6%9B%B0-clerical.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9B%B0-clerical.svg.png rename to server/routers/old/bushou/images/60px-%E6%9B%B0-clerical.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9B%B0-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%9B%B0-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9B%B0-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%9B%B0-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9B%B0-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%9B%B0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9B%B0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%9B%B0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9B%B0-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%9B%B0-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9B%B0-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%9B%B0-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%88-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%88-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%88-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%88-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%88-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%88-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%88-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%88-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%88-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%88-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%88-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%88-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%88-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%88-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%88-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%88-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%88-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%88-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%88-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%88-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%A8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%A8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%A8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%A8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%A8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%A8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%A8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%A8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%A8-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%A8-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%A8-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%A8-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%A8-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%A8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%A8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%A8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9C%A8-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%9C%A8-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9C%A8-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%9C%A8-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%9D%B8-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%9D%B8-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%9D%B8-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%9D%B8-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AC%A0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%AC%A0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AC%A0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AC%A0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AC%A0-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%AC%A0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AC%A0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AC%A0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%A2-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%A2-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%A2-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%A2-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%A2-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%A2-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%A2-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%A2-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%A2-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%A2-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%A2-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%A2-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%A2-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%A2-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%A2-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%A2-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%A2-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%A2-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%A2-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%A2-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%A2-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%A2-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%A2-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%A2-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%A2-slip.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%A2-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%A2-slip.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%A2-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%B9-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%B9-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%B9-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%B9-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%B9-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%B9-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%B9-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%B9-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AD%B9-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%AD%B9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AD%B9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AD%B9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AE%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%AE%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AE%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AE%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AE%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%AE%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AE%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%AE%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AE%B3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%AE%B3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AE%B3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%AE%B3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AE%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%AE%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AE%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AE%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AE%B3-slip.svg.png b/server/routers/old/bushou/images/60px-%E6%AE%B3-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AE%B3-slip.svg.png rename to server/routers/old/bushou/images/60px-%E6%AE%B3-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%8B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%8B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%8B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%8B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%8B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%8B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%8B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%8B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%8B-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%8B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%8B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%8B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%94-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%94-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%94-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%94-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%94-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%94-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%94-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%94-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%94-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%94-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%94-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%94-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%94-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%94-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%94-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%94-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%94-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%94-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%94-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%94-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%9B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%9B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%9B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%9B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%9B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%9B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%9B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%9B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%9B-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%9B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%9B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%9B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%AF%9B-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%AF%9B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%AF%9B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%AF%9B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%8F-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%8F-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%8F-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%8F-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%8F-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%8F-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%8F-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%8F-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%8F-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%8F-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%8F-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%8F-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%8F-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%8F-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%8F-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%8F-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%8F-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%8F-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%8F-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%8F-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%94-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%94-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%94-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%94-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%94-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%94-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%94-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%94-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%94-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%94-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%94-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%94-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%94-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%94-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%94-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%94-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%94-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%94-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%94-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%94-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%94-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%94-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%94-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%94-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%94-slip.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%94-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%94-slip.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%94-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%B4-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%B4-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%B4-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%B4-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%B4-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%B4-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%B4-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%B4-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%B4-bronze.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%B4-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%B4-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%B4-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%B4-oracle.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%B4-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%B4-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%B4-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%B4-seal.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%B4-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%B4-seal.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%B4-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%B4-silk.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%B4-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%B4-silk.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%B4-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E6%B0%B4-slip.svg.png b/server/routers/old/bushou/images/60px-%E6%B0%B4-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E6%B0%B4-slip.svg.png rename to server/routers/old/bushou/images/60px-%E6%B0%B4-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%81%AB-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%81%AB-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%81%AB-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%81%AB-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%81%AB-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E7%81%AB-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%81%AB-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E7%81%AB-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%81%AB-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%81%AB-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%81%AB-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%81%AB-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%81%AB-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%81%AB-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%81%AB-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%81%AB-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%81%AB-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%81%AB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%81%AB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%81%AB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%81%AB-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%81%AB-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%81%AB-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%81%AB-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%81%AB-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%81%AB-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%81%AB-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%81%AB-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%84%A1-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%84%A1-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%84%A1-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%84%A1-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%AA-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%88%AA-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%AA-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%AA-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%AA-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%88%AA-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%AA-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%AA-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%AA-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%88%AA-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%AA-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%AA-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%AA-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%88%AA-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%AA-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%AA-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%B6-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%88%B6-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%B6-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%B6-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%B6-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%88%B6-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%B6-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%B6-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%B6-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%88%B6-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%B6-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%B6-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%B6-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%88%B6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%B6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%B6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%B6-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%88%B6-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%B6-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%B6-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%BB-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%88%BB-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%BB-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%BB-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%BB-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%88%BB-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%BB-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%BB-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%BB-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%88%BB-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%BB-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%BB-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%BB-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%88%BB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%BB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%BB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%BF-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E7%88%BF-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%BF-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%BF-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E7%88%BF-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%88%BF-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%88%BF-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%88%BF-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%80-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E7%89%80-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%80-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%80-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%80-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%89%80-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%80-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%80-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%80-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%89%80-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%80-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%80-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%87-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%89%87-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%87-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%87-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%87-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%89%87-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%87-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%87-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%99-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%89%99-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%99-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%99-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%99-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%89%99-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%99-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%99-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%99-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%89%99-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%99-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%99-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%9B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%89%9B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%9B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%9B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%9B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%89%9B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%9B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%9B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%9B-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%89%9B-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%9B-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%9B-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%9B-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%89%9B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%9B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%9B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%89%9B-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%89%9B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%89%9B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%89%9B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8A%AC-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%8A%AC-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8A%AC-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%8A%AC-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8A%AC-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E7%8A%AC-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8A%AC-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E7%8A%AC-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8A%AC-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%8A%AC-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8A%AC-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%8A%AC-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8A%AC-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%8A%AC-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8A%AC-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%8A%AC-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8A%AC-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%8A%AC-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8A%AC-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%8A%AC-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8A%AC-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%8A%AC-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8A%AC-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%8A%AC-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%84-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%84-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%84-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%84-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%84-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%84-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%84-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%84-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%84-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%84-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%84-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%84-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-ancient.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-clerical.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-clerical.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-clerical.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-clerical.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%8E%89-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%8E%89-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%8E%89-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%8E%89-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%93%9C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%93%9C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%93%9C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%93%9C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%93%9C-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E7%93%9C-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%93%9C-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E7%93%9C-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%93%9C-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%93%9C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%93%9C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%93%9C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%93%A6-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%93%A6-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%93%A6-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%93%A6-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%93%A6-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%93%A6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%93%A6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%93%A6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%93%A6-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%93%A6-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%93%A6-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%93%A6-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%98-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%98-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%98-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%98-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%98-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%94%98-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%98-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%98-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%98-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%94%98-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%98-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%98-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%98-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%98-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%98-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%98-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%9F-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%9F-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%9F-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%9F-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%9F-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%94%9F-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%9F-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%9F-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%9F-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%94%9F-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%9F-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%9F-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%9F-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%9F-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%9F-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%9F-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-ancient.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%A8-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%94%A8-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%A8-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%A8-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%B0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%B0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%B0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%B0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%B0-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E7%94%B0-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%B0-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%B0-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%B0-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%94%B0-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%B0-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%B0-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%B0-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%94%B0-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%B0-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%B0-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%B0-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%94%B0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%B0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%B0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%94%B0-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%94%B0-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%94%B0-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%94%B0-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%96%8B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%96%8B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%96%8B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%96%8B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%96%8B-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%96%8B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%96%8B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%96%8B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%96%92-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%96%92-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%96%92-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%96%92-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%96%92-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%96%92-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%96%92-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%96%92-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%96%92-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%96%92-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%96%92-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%96%92-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%99%B6-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%99%B6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%99%B6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%99%B6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%99%BD-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%99%BD-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%99%BD-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%99%BD-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%99%BD-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%99%BD-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%99%BD-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%99%BD-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%99%BD-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%99%BD-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%99%BD-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%99%BD-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%99%BD-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%99%BD-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%99%BD-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%99%BD-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9A%AE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%9A%AE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9A%AE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9A%AE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9A%AE-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%9A%AE-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9A%AE-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%9A%AE-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9A%AE-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%9A%AE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9A%AE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9A%AE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9A%BF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%9A%BF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9A%BF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9A%BF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9A%BF-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%9A%BF-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9A%BF-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%9A%BF-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9A%BF-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%9A%BF-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9A%BF-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%9A%BF-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9A%BF-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%9A%BF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9A%BF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9A%BF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9B%AE-ancient.svg.png b/server/routers/old/bushou/images/60px-%E7%9B%AE-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9B%AE-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E7%9B%AE-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9B%AE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%9B%AE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9B%AE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9B%AE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9B%AE-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%9B%AE-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9B%AE-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%9B%AE-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9B%AE-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%9B%AE-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9B%AE-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%9B%AE-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9B%AE-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%9B%AE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9B%AE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9B%AE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9B%AE-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%9B%AE-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9B%AE-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%9B%AE-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%9B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%9B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%9B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%9B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%9B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%9B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%9B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%9B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%9B-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%9B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%9B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%9B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%A2-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%A2-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%A2-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%A2-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%A2-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%A2-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%A2-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%A2-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%A2-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%A2-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%A2-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%A2-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%A2-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%A2-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%A2-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%A2-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%B3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%B3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%B3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%B3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%9F%B3-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%9F%B3-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%9F%B3-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%9F%B3-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A4%BA-ancient.svg.png b/server/routers/old/bushou/images/60px-%E7%A4%BA-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A4%BA-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E7%A4%BA-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A4%BA-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%A4%BA-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A4%BA-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%A4%BA-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A4%BA-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E7%A4%BA-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A4%BA-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E7%A4%BA-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A4%BA-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%A4%BA-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A4%BA-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%A4%BA-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A4%BA-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%A4%BA-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A4%BA-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%A4%BA-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A4%BA-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%A4%BA-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A4%BA-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%A4%BA-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A6%B8-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%A6%B8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A6%B8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%A6%B8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A6%BE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%A6%BE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A6%BE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%A6%BE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A6%BE-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%A6%BE-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A6%BE-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%A6%BE-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A6%BE-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%A6%BE-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A6%BE-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%A6%BE-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A6%BE-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%A6%BE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A6%BE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%A6%BE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A9%B4-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%A9%B4-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A9%B4-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%A9%B4-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%A9%B4-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%A9%B4-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%A9%B4-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%A9%B4-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%8B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%8B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%8B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%8B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%8B-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%8B-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%8B-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%8B-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%8B-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%8B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%8B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%8B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%AB%B9-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%AB%B9-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%AB%B9-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%AB%B9-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B1%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%B1%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B1%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%B1%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B1%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%B1%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B1%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%B1%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B1%B3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%B1%B3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B1%B3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%B1%B3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B1%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%B1%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B1%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%B1%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B1%B3-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%B1%B3-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B1%B3-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%B1%B3-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B1%B3-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%B1%B3-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B1%B3-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%B1%B3-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B3%B8-ancient.svg.png b/server/routers/old/bushou/images/60px-%E7%B3%B8-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B3%B8-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E7%B3%B8-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B3%B8-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E7%B3%B8-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B3%B8-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E7%B3%B8-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B3%B8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%B3%B8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B3%B8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%B3%B8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B3%B8-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%B3%B8-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B3%B8-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%B3%B8-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%B3%B8-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%B3%B8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%B3%B8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%B3%B8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BC%B6-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%BC%B6-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BC%B6-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%BC%B6-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BC%B6-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E7%BC%B6-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BC%B6-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E7%BC%B6-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BC%B6-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%BC%B6-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BC%B6-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%BC%B6-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BC%B6-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%BC%B6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BC%B6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%BC%B6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BD%91-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%BD%91-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BD%91-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%BD%91-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BD%91-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%BD%91-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BD%91-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%BD%91-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BD%91-zhou.svg.png b/server/routers/old/bushou/images/60px-%E7%BD%91-zhou.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BD%91-zhou.svg.png rename to server/routers/old/bushou/images/60px-%E7%BD%91-zhou.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BD%94-ancient.svg.png b/server/routers/old/bushou/images/60px-%E7%BD%94-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BD%94-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E7%BD%94-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BD%94-silk.svg.png b/server/routers/old/bushou/images/60px-%E7%BD%94-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BD%94-silk.svg.png rename to server/routers/old/bushou/images/60px-%E7%BD%94-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BD%94-slip.svg.png b/server/routers/old/bushou/images/60px-%E7%BD%94-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BD%94-slip.svg.png rename to server/routers/old/bushou/images/60px-%E7%BD%94-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%8A-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%8A-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%8A-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%8A-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%8A-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%8A-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%8A-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%8A-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%8A-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%8A-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%8A-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%8A-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%8A-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%8A-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%8A-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%8A-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%BD-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%BD-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%BD-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%BD-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%BD-bronze.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%BD-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%BD-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%BD-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%BD-oracle.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%BD-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%BD-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%BD-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E7%BE%BD-seal.svg.png b/server/routers/old/bushou/images/60px-%E7%BE%BD-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E7%BE%BD-seal.svg.png rename to server/routers/old/bushou/images/60px-%E7%BE%BD-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%81-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%81-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%81-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%81-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%81-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%80%81-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%81-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%81-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%81-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%80%81-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%81-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%81-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%81-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%81-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%81-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%81-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%81-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%80%81-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%81-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%81-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%8C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%8C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%8C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%8C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%8C-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%80%8C-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%8C-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%8C-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%8C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%80%8C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%8C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%8C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%8C-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%8C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%8C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%8C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%92-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%92-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%92-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%92-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%92-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%92-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%92-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%92-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%B3-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E8%80%B3-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%B3-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%B3-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%80%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%B3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%80%B3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%B3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%B3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%80%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%B3-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%80%B3-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%B3-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%B3-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%80%B3-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%80%B3-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%80%B3-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%80%B3-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%81%BF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%81%BF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%81%BF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%81%BF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%81%BF-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%81%BF-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%81%BF-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%81%BF-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%81%BF-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%81%BF-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%81%BF-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%81%BF-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%81%BF-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%81%BF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%81%BF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%81%BF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%82%89-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%82%89-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%82%89-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%82%89-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%82%89-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%82%89-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%82%89-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%82%89-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%82%89-clerical.svg.png b/server/routers/old/bushou/images/60px-%E8%82%89-clerical.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%82%89-clerical.svg.png rename to server/routers/old/bushou/images/60px-%E8%82%89-clerical.svg.png diff --git a/server/routers/bushou/images/60px-%E8%82%89-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%82%89-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%82%89-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%82%89-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%82%89-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%82%89-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%82%89-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%82%89-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%82%89-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%82%89-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%82%89-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%82%89-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%82%89-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%82%89-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%82%89-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%82%89-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%A3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%87%A3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%A3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%A3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%A3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%87%A3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%A3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%A3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%A3-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%87%A3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%A3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%A3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%A3-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%87%A3-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%A3-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%A3-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%AA-ancient.svg.png b/server/routers/old/bushou/images/60px-%E8%87%AA-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%AA-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%AA-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%AA-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%87%AA-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%AA-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%AA-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%AA-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%87%AA-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%AA-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%AA-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%AA-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%87%AA-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%AA-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%AA-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%AA-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%87%AA-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%AA-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%AA-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%AA-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%87%AA-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%AA-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%AA-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%87%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%87%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%B3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%87%B3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%B3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%B3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%87%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%87%BC-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%87%BC-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%87%BC-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%87%BC-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%8C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%88%8C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%8C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%8C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%8C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%88%8C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%8C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%8C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%8C-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%88%8C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%8C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%8C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%9B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%88%9B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%9B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%9B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%9B-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%88%9B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%9B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%9B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%9F-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%88%9F-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%9F-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%9F-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%9F-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%88%9F-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%9F-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%9F-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%9F-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%88%9F-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%9F-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%9F-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%88%9F-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%88%9F-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%88%9F-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%88%9F-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%AE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%89%AE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%AE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%AE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%AE-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%89%AE-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%AE-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%AE-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%AE-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%89%AE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%AE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%AE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%B2-ancient.svg.png b/server/routers/old/bushou/images/60px-%E8%89%B2-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%B2-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%B2-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%B2-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%89%B2-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%B2-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%B2-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%B2-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E8%89%B2-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%B2-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%B2-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%B2-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%89%B2-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%B2-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%B2-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%B2-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%89%B2-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%B2-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%B2-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%B2-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%89%B2-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%B2-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%B2-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%89%B8-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%89%B8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%89%B8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%89%B8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%99%8D-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%99%8D-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%99%8D-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%99%8D-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%99%8D-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%99%8D-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%99%8D-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%99%8D-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%99%8D-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%99%8D-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%99%8D-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%99%8D-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%99%8D-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%99%8D-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%99%8D-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%99%8D-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%99%AB-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%99%AB-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%99%AB-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%99%AB-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%99%AB-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%99%AB-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%99%AB-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%99%AB-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%99%AB-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%99%AB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%99%AB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%99%AB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%80-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%80-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%80-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%80-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%80-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%80-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%80-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%80-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%80-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%80-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%80-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%80-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%80-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%80-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%80-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%80-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%80-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%80-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%80-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%80-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-clerical.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-clerical.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-clerical.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-clerical.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%8C-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%8C-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%8C-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%8C-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%A3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%A3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%A3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%A3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%A3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%A3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%A3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%A3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%A3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%A3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%A3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%A3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A1%A3-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%A1%A3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A1%A3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A1%A3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A5%BE-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%A5%BE-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A5%BE-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A5%BE-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A5%BE-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%A5%BE-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A5%BE-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A5%BE-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A6%8B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%A6%8B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A6%8B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A6%8B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A6%8B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%A6%8B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A6%8B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%A6%8B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A6%8B-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%A6%8B-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A6%8B-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%A6%8B-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A6%8B-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%A6%8B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A6%8B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A6%8B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A6%8B-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%A6%8B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A6%8B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%A6%8B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A7%92-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%A7%92-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A7%92-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A7%92-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A7%92-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%A7%92-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A7%92-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%A7%92-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A7%92-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%A7%92-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A7%92-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%A7%92-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A7%92-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%A7%92-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A7%92-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A7%92-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A8%80-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%A8%80-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A8%80-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A8%80-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A8%80-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%A8%80-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A8%80-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%A8%80-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A8%80-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%A8%80-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A8%80-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%A8%80-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%A8%80-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%A8%80-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%A8%80-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%A8%80-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B0%B7-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%B0%B7-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B0%B7-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B0%B7-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B0%B7-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%B0%B7-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B0%B7-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%B0%B7-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B0%B7-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%B0%B7-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B0%B7-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%B0%B7-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B0%B7-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B0%B7-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B0%B7-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B0%B7-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%86-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%86-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%86-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%86-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%86-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%86-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%86-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%86-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%86-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%86-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%86-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%86-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%86-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%86-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%86-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%86-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%95-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%95-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%95-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%95-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%95-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%95-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%95-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%95-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%95-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%95-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%95-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%95-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%95-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%95-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%95-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%95-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%B8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%B8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%B8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%B8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%B8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%B8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%B8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%B8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%B8-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%B8-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%B8-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%B8-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%B8-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%B8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%B8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%B8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B1%B8-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%B1%B8-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B1%B8-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%B1%B8-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B2%9D-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%B2%9D-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B2%9D-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B2%9D-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B2%9D-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%B2%9D-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B2%9D-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%B2%9D-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B2%9D-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%B2%9D-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B2%9D-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%B2%9D-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B2%9D-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B2%9D-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B2%9D-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B2%9D-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B2%9D-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%B2%9D-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B2%9D-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%B2%9D-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-ancient.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%A4-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%A4-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%A4-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%A4-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B5%B0-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%B5%B0-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B5%B0-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%B5%B0-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%B6%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%B6%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%B6%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%B6%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BA%AB-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%BA%AB-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BA%AB-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BA%AB-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BA%AB-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%BA%AB-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BA%AB-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%BA%AB-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BA%AB-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%BA%AB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BA%AB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BA%AB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-silk.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-silk.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-slip.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-slip.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BB%8A-zhou.svg.png b/server/routers/old/bushou/images/60px-%E8%BB%8A-zhou.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BB%8A-zhou.svg.png rename to server/routers/old/bushou/images/60px-%E8%BB%8A-zhou.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BE%9B-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%BE%9B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BE%9B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BE%9B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BE%B0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E8%BE%B0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BE%B0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BE%B0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BE%B0-bronze.svg.png b/server/routers/old/bushou/images/60px-%E8%BE%B0-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BE%B0-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E8%BE%B0-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BE%B0-oracle.svg.png b/server/routers/old/bushou/images/60px-%E8%BE%B0-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BE%B0-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E8%BE%B0-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BE%B0-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%BE%B0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BE%B0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BE%B0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E8%BE%B5-seal.svg.png b/server/routers/old/bushou/images/60px-%E8%BE%B5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E8%BE%B5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E8%BE%B5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%82%91-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%82%91-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%82%91-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%82%91-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%82%91-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%82%91-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%82%91-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%82%91-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%82%91-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%82%91-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%82%91-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%82%91-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%82%91-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%82%91-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%82%91-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%82%91-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-ancient.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%85%89-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%85%89-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%85%89-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%85%89-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%86-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%87%86-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%86-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%86-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%86-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%87%86-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%86-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%86-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%86-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%87%86-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%86-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%86-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%86-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%87%86-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%86-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%86-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%8C-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%87%8C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%8C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%8C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%91-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%87%91-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%91-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%91-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%91-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%87%91-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%91-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%91-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%87%91-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%87%91-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%87%91-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%87%91-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%95%B7-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%95%B7-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%95%B7-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%95%B7-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%96%80-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%96%80-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%96%80-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%96%80-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%96%80-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E9%96%80-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%96%80-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E9%96%80-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E9%96%80-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%96%80-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%96%80-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%96%80-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%96%80-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%96%80-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%96%80-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%96%80-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%96%80-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%96%80-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%96%80-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%96%80-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%96%80-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%96%80-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%96%80-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%96%80-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%96%80-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%96%80-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%96%80-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%96%80-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%98%9C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%98%9C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%98%9C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%98%9C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%98%9C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%98%9C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%98%9C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%98%9C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%98%9C-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%98%9C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%98%9C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%98%9C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9A%B6-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9A%B6-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9A%B6-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9A%B6-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9A%B9-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%9A%B9-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9A%B9-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9A%B9-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9A%B9-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%9A%B9-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9A%B9-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%9A%B9-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9A%B9-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%9A%B9-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9A%B9-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%9A%B9-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9A%B9-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9A%B9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9A%B9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9A%B9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9B%A8-ancient.svg.png b/server/routers/old/bushou/images/60px-%E9%9B%A8-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9B%A8-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E9%9B%A8-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9B%A8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%9B%A8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9B%A8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9B%A8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9B%A8-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%9B%A8-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9B%A8-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%9B%A8-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9B%A8-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%9B%A8-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9B%A8-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%9B%A8-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9B%A8-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9B%A8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9B%A8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9B%A8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9B%A8-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%9B%A8-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9B%A8-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%9B%A8-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9B%A8-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%9B%A8-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9B%A8-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%9B%A8-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9D%9E-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9D%9E-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9D%9E-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9D%9E-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9D%A2-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%9D%A2-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9D%A2-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%9D%A2-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9D%A2-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9D%A2-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9D%A2-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9D%A2-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9D%A9-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9D%A9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9D%A9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9D%A9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%8B-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%8B-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%8B-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%8B-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%AD-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%AD-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%AD-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%AD-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%B3-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%B3-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%B3-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%B3-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%B3-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%B3-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%B3-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%B3-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%9F%B3-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%9F%B3-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%9F%B3-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%9F%B3-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A0%81-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%A0%81-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A0%81-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A0%81-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A0%81-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%A0%81-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A0%81-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%A0%81-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A0%81-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%A0%81-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A0%81-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%A0%81-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A0%81-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%A0%81-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A0%81-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A0%81-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A0%81-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%A0%81-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A0%81-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%A0%81-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A2%A8-ancient.svg.png b/server/routers/old/bushou/images/60px-%E9%A2%A8-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A2%A8-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E9%A2%A8-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A2%A8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%A2%A8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A2%A8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A2%A8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A2%A8-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%A2%A8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A2%A8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A2%A8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A2%A8-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%A2%A8-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A2%A8-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%A2%A8-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A2%A8-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%A2%A8-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A2%A8-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%A2%A8-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9B-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9B-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9B-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9B-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9B-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9B-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9B-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9B-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9B-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9B-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9B-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9B-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9B-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9B-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9B-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9B-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A3%9F-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%A3%9F-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A3%9F-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%A3%9F-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%96-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%96-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%96-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%96-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%96-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%96-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%96-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%96-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%96-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%96-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%96-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%96-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%96-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%96-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%96-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%96-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%99-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%99-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%99-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%99-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%99-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%99-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%99-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%99-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%99-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%99-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%99-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%99-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%99-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%99-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%99-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%99-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-ancient.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-ancient.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-ancient.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-ancient.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-clerical.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-clerical.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-clerical.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-clerical.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%A6%AC-zhou.svg.png b/server/routers/old/bushou/images/60px-%E9%A6%AC-zhou.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%A6%AC-zhou.svg.png rename to server/routers/old/bushou/images/60px-%E9%A6%AC-zhou.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AA%A8-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%AA%A8-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AA%A8-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AA%A8-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AA%A8-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AA%A8-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AA%A8-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AA%A8-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AA%A8-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%AA%A8-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AA%A8-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%AA%A8-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AA%A8-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%AA%A8-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AA%A8-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%AA%A8-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-bronze-warring.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-bronze-warring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-bronze-warring.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-bronze-warring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%98-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%98-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%98-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%98-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%9F-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%9F-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%9F-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%9F-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%9F-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%9F-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%9F-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%9F-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AB%9F-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%AB%9F-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AB%9F-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%AB%9F-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%A5-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%A5-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%A5-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%A5-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%A5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%A5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%A5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%A5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%A5-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%A5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%A5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%A5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%AF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%AF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%AF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%AF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%AF-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%AF-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%AF-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%AF-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%AF-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%AF-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%AF-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%AF-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%AF-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%AF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%AF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%AF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%B2-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%B2-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%B2-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%B2-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%B2-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%B2-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%B2-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%B2-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%B2-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%B2-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%B2-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%B2-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%B2-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%B2-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%B2-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%B2-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%BC-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%BC-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%BC-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%BC-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%BC-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%BC-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%BC-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%BC-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%BC-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%BC-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%BC-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%BC-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AC%BC-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AC%BC-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AC%BC-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AC%BC-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AD%9A-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%AD%9A-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AD%9A-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AD%9A-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AD%9A-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%AD%9A-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AD%9A-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%AD%9A-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AD%9A-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%AD%9A-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AD%9A-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%AD%9A-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%AD%9A-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%AD%9A-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%AD%9A-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%AD%9A-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B3%A5-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%B3%A5-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B3%A5-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%B3%A5-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B3%A5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%B3%A5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B3%A5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%B3%A5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B3%A5-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%B3%A5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B3%A5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%B3%A5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B3%B3-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%B3%B3-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B3%B3-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%B3%B3-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B3%B3-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%B3%B3-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B3%B3-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%B3%B3-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%B5-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%B5-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%B5-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%B5-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%B5-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%B5-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%B5-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%B5-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%B5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%B5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%B5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%B5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%B5-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%B5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%B5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%B5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%BF-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%BF-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%BF-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%BF-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%BF-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%BF-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%BF-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%BF-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%BF-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%BF-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%BF-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%BF-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%B9%BF-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%B9%BF-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%B9%BF-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%B9%BF-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BA%A5-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BA%A5-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BA%A5-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BA%A5-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BA%A5-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BA%A5-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BA%A5-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BA%A5-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BA%A5-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BA%A5-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BA%A5-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BA%A5-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BA%A5-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BA%A5-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BA%A5-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BA%A5-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BA%BB-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BA%BB-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BA%BB-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BA%BB-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BA%BB-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BA%BB-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BA%BB-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BA%BB-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BA%BB-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BA%BB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BA%BB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BA%BB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%83-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%83-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%83-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%83-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%83-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%83-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%83-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%83-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%83-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%83-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%83-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%83-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%83-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%83-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%83-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%83-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%8D-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%8D-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%8D-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%8D-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%8D-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%8D-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%8D-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%8D-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%8D-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%8D-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%8D-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%8D-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%8D-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%8D-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%8D-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%8D-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%91-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%91-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%91-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%91-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%91-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%91-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%91-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%91-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%91-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%91-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%91-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%91-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%91-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%91-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%91-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%91-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%91-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%91-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%91-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%91-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%92-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%92-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%92-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%92-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%92-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%92-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%92-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%92-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%B9-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%B9-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%B9-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%B9-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%B9-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%B9-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%B9-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%B9-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%B9-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%B9-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%B9-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%B9-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%B9-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%B9-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%B9-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%B9-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BB%BD-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BB%BD-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BB%BD-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BB%BD-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%8E-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%8E-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%8E-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%8E-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%8E-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%8E-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%8E-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%8E-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%8E-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%8E-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%8E-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%8E-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%8E-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%8E-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%8E-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%8E-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%93-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%93-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%93-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%93-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%93-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%93-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%93-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%93-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%93-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%93-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%93-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%93-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%93-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%93-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%93-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%93-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%A0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%A0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%A0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%A0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%A0-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%A0-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%A0-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%A0-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%A0-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%A0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%A0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%A0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BC%BB-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BC%BB-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BC%BB-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BC%BB-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BD%8A-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BD%8A-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BD%8A-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BD%8A-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BD%92-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BD%92-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BD%92-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BD%92-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BD%92-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BD%92-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BD%92-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BD%92-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BD%92-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BD%92-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BD%92-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BD%92-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-bronze-shang.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-bronze-shang.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-bronze-shang.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-bronze-shang.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-bronze-spring.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-bronze-spring.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-bronze-spring.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-bronze-spring.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-silk.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-silk.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-silk.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%8D-slip.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%8D-slip.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%8D-slip.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%8D-slip.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%9C-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%9C-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%9C-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%9C-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%9C-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%9C-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%9C-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%9C-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%9C-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%9C-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%9C-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%9C-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%9C-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%9C-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%9C-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%9C-seal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%A0-bigseal.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%A0-bigseal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%A0-bigseal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%A0-bigseal.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%A0-bronze.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%A0-bronze.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%A0-bronze.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%A0-bronze.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%A0-oracle.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%A0-oracle.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%A0-oracle.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%A0-oracle.svg.png diff --git a/server/routers/bushou/images/60px-%E9%BE%A0-seal.svg.png b/server/routers/old/bushou/images/60px-%E9%BE%A0-seal.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%E9%BE%A0-seal.svg.png rename to server/routers/old/bushou/images/60px-%E9%BE%A0-seal.svg.png diff --git a/server/routers/bushou/images/60px-%F0%A5%83%A9-silk.svg.png b/server/routers/old/bushou/images/60px-%F0%A5%83%A9-silk.svg.png similarity index 100% rename from server/routers/bushou/images/60px-%F0%A5%83%A9-silk.svg.png rename to server/routers/old/bushou/images/60px-%F0%A5%83%A9-silk.svg.png diff --git a/server/routers/bushou/images/60px-ACC-B00002.svg.png b/server/routers/old/bushou/images/60px-ACC-B00002.svg.png similarity index 100% rename from server/routers/bushou/images/60px-ACC-B00002.svg.png rename to server/routers/old/bushou/images/60px-ACC-B00002.svg.png diff --git a/server/routers/bushou/images/60px-ACC-B00014.svg.png b/server/routers/old/bushou/images/60px-ACC-B00014.svg.png similarity index 100% rename from server/routers/bushou/images/60px-ACC-B00014.svg.png rename to server/routers/old/bushou/images/60px-ACC-B00014.svg.png diff --git a/server/routers/bushou/images/60px-ACC-B00015.svg.png b/server/routers/old/bushou/images/60px-ACC-B00015.svg.png similarity index 100% rename from server/routers/bushou/images/60px-ACC-B00015.svg.png rename to server/routers/old/bushou/images/60px-ACC-B00015.svg.png diff --git a/server/routers/bushou/images/60px-ACC-b00945.svg.png b/server/routers/old/bushou/images/60px-ACC-b00945.svg.png similarity index 100% rename from server/routers/bushou/images/60px-ACC-b00945.svg.png rename to server/routers/old/bushou/images/60px-ACC-b00945.svg.png diff --git a/server/routers/bushou/images/60px-ACC-b18623.svg.png b/server/routers/old/bushou/images/60px-ACC-b18623.svg.png similarity index 100% rename from server/routers/bushou/images/60px-ACC-b18623.svg.png rename to server/routers/old/bushou/images/60px-ACC-b18623.svg.png diff --git a/server/routers/bushou/images/60px-ACC-b18626.svg.png b/server/routers/old/bushou/images/60px-ACC-b18626.svg.png similarity index 100% rename from server/routers/bushou/images/60px-ACC-b18626.svg.png rename to server/routers/old/bushou/images/60px-ACC-b18626.svg.png diff --git a/server/routers/bushou/images/60px-Shuowen_Seal_Radical_038.svg.png b/server/routers/old/bushou/images/60px-Shuowen_Seal_Radical_038.svg.png similarity index 100% rename from server/routers/bushou/images/60px-Shuowen_Seal_Radical_038.svg.png rename to server/routers/old/bushou/images/60px-Shuowen_Seal_Radical_038.svg.png diff --git a/server/routers/bushou/index.js b/server/routers/old/bushou/index.js similarity index 100% rename from server/routers/bushou/index.js rename to server/routers/old/bushou/index.js diff --git a/server/routers/bushou/radicals/success.json b/server/routers/old/bushou/radicals/success.json similarity index 100% rename from server/routers/bushou/radicals/success.json rename to server/routers/old/bushou/radicals/success.json diff --git a/server/routers/bushou/tokenize/success.json b/server/routers/old/bushou/tokenize/success.json similarity index 100% rename from server/routers/bushou/tokenize/success.json rename to server/routers/old/bushou/tokenize/success.json diff --git a/server/routers/car-wash/auth/index.js b/server/routers/old/car-wash/auth/index.js similarity index 100% rename from server/routers/car-wash/auth/index.js rename to server/routers/old/car-wash/auth/index.js diff --git a/server/routers/car-wash/auth/login/error.json b/server/routers/old/car-wash/auth/login/error.json similarity index 100% rename from server/routers/car-wash/auth/login/error.json rename to server/routers/old/car-wash/auth/login/error.json diff --git a/server/routers/car-wash/auth/login/index.js b/server/routers/old/car-wash/auth/login/index.js similarity index 100% rename from server/routers/car-wash/auth/login/index.js rename to server/routers/old/car-wash/auth/login/index.js diff --git a/server/routers/car-wash/auth/login/success.json b/server/routers/old/car-wash/auth/login/success.json similarity index 100% rename from server/routers/car-wash/auth/login/success.json rename to server/routers/old/car-wash/auth/login/success.json diff --git a/server/routers/car-wash/auth/logrec/error.json b/server/routers/old/car-wash/auth/logrec/error.json similarity index 100% rename from server/routers/car-wash/auth/logrec/error.json rename to server/routers/old/car-wash/auth/logrec/error.json diff --git a/server/routers/car-wash/auth/logrec/index.js b/server/routers/old/car-wash/auth/logrec/index.js similarity index 100% rename from server/routers/car-wash/auth/logrec/index.js rename to server/routers/old/car-wash/auth/logrec/index.js diff --git a/server/routers/car-wash/auth/logrec/success.json b/server/routers/old/car-wash/auth/logrec/success.json similarity index 100% rename from server/routers/car-wash/auth/logrec/success.json rename to server/routers/old/car-wash/auth/logrec/success.json diff --git a/server/routers/car-wash/auth/passrec/error.json b/server/routers/old/car-wash/auth/passrec/error.json similarity index 100% rename from server/routers/car-wash/auth/passrec/error.json rename to server/routers/old/car-wash/auth/passrec/error.json diff --git a/server/routers/car-wash/auth/passrec/index.js b/server/routers/old/car-wash/auth/passrec/index.js similarity index 100% rename from server/routers/car-wash/auth/passrec/index.js rename to server/routers/old/car-wash/auth/passrec/index.js diff --git a/server/routers/car-wash/auth/passrec/success.json b/server/routers/old/car-wash/auth/passrec/success.json similarity index 100% rename from server/routers/car-wash/auth/passrec/success.json rename to server/routers/old/car-wash/auth/passrec/success.json diff --git a/server/routers/car-wash/auth/registration/dooble.json b/server/routers/old/car-wash/auth/registration/dooble.json similarity index 100% rename from server/routers/car-wash/auth/registration/dooble.json rename to server/routers/old/car-wash/auth/registration/dooble.json diff --git a/server/routers/car-wash/auth/registration/dooblephone.json b/server/routers/old/car-wash/auth/registration/dooblephone.json similarity index 100% rename from server/routers/car-wash/auth/registration/dooblephone.json rename to server/routers/old/car-wash/auth/registration/dooblephone.json diff --git a/server/routers/car-wash/auth/registration/error.json b/server/routers/old/car-wash/auth/registration/error.json similarity index 100% rename from server/routers/car-wash/auth/registration/error.json rename to server/routers/old/car-wash/auth/registration/error.json diff --git a/server/routers/car-wash/auth/registration/index.js b/server/routers/old/car-wash/auth/registration/index.js similarity index 100% rename from server/routers/car-wash/auth/registration/index.js rename to server/routers/old/car-wash/auth/registration/index.js diff --git a/server/routers/car-wash/auth/registration/success.json b/server/routers/old/car-wash/auth/registration/success.json similarity index 100% rename from server/routers/car-wash/auth/registration/success.json rename to server/routers/old/car-wash/auth/registration/success.json diff --git a/server/routers/car-wash/carousel/carousel-en.json b/server/routers/old/car-wash/carousel/carousel-en.json similarity index 100% rename from server/routers/car-wash/carousel/carousel-en.json rename to server/routers/old/car-wash/carousel/carousel-en.json diff --git a/server/routers/car-wash/carousel/carousel-ru.json b/server/routers/old/car-wash/carousel/carousel-ru.json similarity index 100% rename from server/routers/car-wash/carousel/carousel-ru.json rename to server/routers/old/car-wash/carousel/carousel-ru.json diff --git a/server/routers/car-wash/carousel/index.js b/server/routers/old/car-wash/carousel/index.js similarity index 100% rename from server/routers/car-wash/carousel/index.js rename to server/routers/old/car-wash/carousel/index.js diff --git a/server/routers/car-wash/index.js b/server/routers/old/car-wash/index.js similarity index 100% rename from server/routers/car-wash/index.js rename to server/routers/old/car-wash/index.js diff --git a/server/routers/car-wash/map/index.js b/server/routers/old/car-wash/map/index.js similarity index 100% rename from server/routers/car-wash/map/index.js rename to server/routers/old/car-wash/map/index.js diff --git a/server/routers/car-wash/map/map-info-en.json b/server/routers/old/car-wash/map/map-info-en.json similarity index 100% rename from server/routers/car-wash/map/map-info-en.json rename to server/routers/old/car-wash/map/map-info-en.json diff --git a/server/routers/car-wash/map/map-info-ru.json b/server/routers/old/car-wash/map/map-info-ru.json similarity index 100% rename from server/routers/car-wash/map/map-info-ru.json rename to server/routers/old/car-wash/map/map-info-ru.json diff --git a/server/routers/car-wash/prices/index.js b/server/routers/old/car-wash/prices/index.js similarity index 100% rename from server/routers/car-wash/prices/index.js rename to server/routers/old/car-wash/prices/index.js diff --git a/server/routers/car-wash/prices/prices-en.json b/server/routers/old/car-wash/prices/prices-en.json similarity index 100% rename from server/routers/car-wash/prices/prices-en.json rename to server/routers/old/car-wash/prices/prices-en.json diff --git a/server/routers/car-wash/prices/prices-ru.json b/server/routers/old/car-wash/prices/prices-ru.json similarity index 100% rename from server/routers/car-wash/prices/prices-ru.json rename to server/routers/old/car-wash/prices/prices-ru.json diff --git a/server/routers/coder/catalog/cardData.json b/server/routers/old/coder/catalog/cardData.json similarity index 100% rename from server/routers/coder/catalog/cardData.json rename to server/routers/old/coder/catalog/cardData.json diff --git a/server/routers/coder/catalog/error.json b/server/routers/old/coder/catalog/error.json similarity index 100% rename from server/routers/coder/catalog/error.json rename to server/routers/old/coder/catalog/error.json diff --git a/server/routers/coder/catalog/index.js b/server/routers/old/coder/catalog/index.js similarity index 100% rename from server/routers/coder/catalog/index.js rename to server/routers/old/coder/catalog/index.js diff --git a/server/routers/coder/controllers.js b/server/routers/old/coder/controllers.js similarity index 99% rename from server/routers/coder/controllers.js rename to server/routers/old/coder/controllers.js index 136f2a5..0285c28 100644 --- a/server/routers/coder/controllers.js +++ b/server/routers/old/coder/controllers.js @@ -1,4 +1,4 @@ -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') let db = null diff --git a/server/routers/coder/forum/categories.json b/server/routers/old/coder/forum/categories.json similarity index 100% rename from server/routers/coder/forum/categories.json rename to server/routers/old/coder/forum/categories.json diff --git a/server/routers/coder/forum/error.json b/server/routers/old/coder/forum/error.json similarity index 100% rename from server/routers/coder/forum/error.json rename to server/routers/old/coder/forum/error.json diff --git a/server/routers/coder/forum/index.js b/server/routers/old/coder/forum/index.js similarity index 98% rename from server/routers/coder/forum/index.js rename to server/routers/old/coder/forum/index.js index c1ca4d9..7a3a7a2 100644 --- a/server/routers/coder/forum/index.js +++ b/server/routers/old/coder/forum/index.js @@ -1,6 +1,6 @@ const router = require('express').Router(); -const { getResponse } = require('../../../utils/common'); +const { getResponse } = require('../../../../utils/common'); const { getTags, connect, diff --git a/server/routers/coder/forum/topic-comments.json b/server/routers/old/coder/forum/topic-comments.json similarity index 100% rename from server/routers/coder/forum/topic-comments.json rename to server/routers/old/coder/forum/topic-comments.json diff --git a/server/routers/coder/forum/topic-list.json b/server/routers/old/coder/forum/topic-list.json similarity index 100% rename from server/routers/coder/forum/topic-list.json rename to server/routers/old/coder/forum/topic-list.json diff --git a/server/routers/coder/forum/topic-tags.json b/server/routers/old/coder/forum/topic-tags.json similarity index 100% rename from server/routers/coder/forum/topic-tags.json rename to server/routers/old/coder/forum/topic-tags.json diff --git a/server/routers/coder/forum/topic.json b/server/routers/old/coder/forum/topic.json similarity index 100% rename from server/routers/coder/forum/topic.json rename to server/routers/old/coder/forum/topic.json diff --git a/server/routers/coder/forum/users.json b/server/routers/old/coder/forum/users.json similarity index 100% rename from server/routers/coder/forum/users.json rename to server/routers/old/coder/forum/users.json diff --git a/server/routers/coder/index.js b/server/routers/old/coder/index.js similarity index 100% rename from server/routers/coder/index.js rename to server/routers/old/coder/index.js diff --git a/server/routers/coder/topic/dynamic-programming.json b/server/routers/old/coder/topic/dynamic-programming.json similarity index 100% rename from server/routers/coder/topic/dynamic-programming.json rename to server/routers/old/coder/topic/dynamic-programming.json diff --git a/server/routers/coder/topic/dynamic-programming/arrays-and-strings.json b/server/routers/old/coder/topic/dynamic-programming/arrays-and-strings.json similarity index 100% rename from server/routers/coder/topic/dynamic-programming/arrays-and-strings.json rename to server/routers/old/coder/topic/dynamic-programming/arrays-and-strings.json diff --git a/server/routers/coder/topic/dynamic-programming/dynamic-programming.json b/server/routers/old/coder/topic/dynamic-programming/dynamic-programming.json similarity index 100% rename from server/routers/coder/topic/dynamic-programming/dynamic-programming.json rename to server/routers/old/coder/topic/dynamic-programming/dynamic-programming.json diff --git a/server/routers/coder/topic/dynamic-programming/linked-list.json b/server/routers/old/coder/topic/dynamic-programming/linked-list.json similarity index 100% rename from server/routers/coder/topic/dynamic-programming/linked-list.json rename to server/routers/old/coder/topic/dynamic-programming/linked-list.json diff --git a/server/routers/coder/topic/dynamic-programming/overview.json b/server/routers/old/coder/topic/dynamic-programming/overview.json similarity index 100% rename from server/routers/coder/topic/dynamic-programming/overview.json rename to server/routers/old/coder/topic/dynamic-programming/overview.json diff --git a/server/routers/coder/topic/error.json b/server/routers/old/coder/topic/error.json similarity index 100% rename from server/routers/coder/topic/error.json rename to server/routers/old/coder/topic/error.json diff --git a/server/routers/coder/topic/index.js b/server/routers/old/coder/topic/index.js similarity index 100% rename from server/routers/coder/topic/index.js rename to server/routers/old/coder/topic/index.js diff --git a/server/routers/dhs-testing/index.js b/server/routers/old/dhs-testing/index.js similarity index 100% rename from server/routers/dhs-testing/index.js rename to server/routers/old/dhs-testing/index.js diff --git a/server/routers/dhs-testing/json/records-data/records.json b/server/routers/old/dhs-testing/json/records-data/records.json similarity index 100% rename from server/routers/dhs-testing/json/records-data/records.json rename to server/routers/old/dhs-testing/json/records-data/records.json diff --git a/server/routers/dhs-testing/json/results-data/results.json b/server/routers/old/dhs-testing/json/results-data/results.json similarity index 100% rename from server/routers/dhs-testing/json/results-data/results.json rename to server/routers/old/dhs-testing/json/results-data/results.json diff --git a/server/routers/dhs-testing/json/submit-record/submit.json b/server/routers/old/dhs-testing/json/submit-record/submit.json similarity index 100% rename from server/routers/dhs-testing/json/submit-record/submit.json rename to server/routers/old/dhs-testing/json/submit-record/submit.json diff --git a/server/routers/dhs-testing/json/tests-data/success.json b/server/routers/old/dhs-testing/json/tests-data/success.json similarity index 100% rename from server/routers/dhs-testing/json/tests-data/success.json rename to server/routers/old/dhs-testing/json/tests-data/success.json diff --git a/server/routers/dhs-testing/json/users-data/success.json b/server/routers/old/dhs-testing/json/users-data/success.json similarity index 100% rename from server/routers/dhs-testing/json/users-data/success.json rename to server/routers/old/dhs-testing/json/users-data/success.json diff --git a/server/routers/dogsitters-finder/index.js b/server/routers/old/dogsitters-finder/index.js similarity index 100% rename from server/routers/dogsitters-finder/index.js rename to server/routers/old/dogsitters-finder/index.js diff --git a/server/routers/dogsitters-finder/json/users.json b/server/routers/old/dogsitters-finder/json/users.json similarity index 100% rename from server/routers/dogsitters-finder/json/users.json rename to server/routers/old/dogsitters-finder/json/users.json diff --git a/server/routers/easy-project/auth.js b/server/routers/old/easy-project/auth.js similarity index 100% rename from server/routers/easy-project/auth.js rename to server/routers/old/easy-project/auth.js diff --git a/server/routers/easy-project/constants.js b/server/routers/old/easy-project/constants.js similarity index 100% rename from server/routers/easy-project/constants.js rename to server/routers/old/easy-project/constants.js diff --git a/server/routers/easy-project/db.js b/server/routers/old/easy-project/db.js similarity index 99% rename from server/routers/easy-project/db.js rename to server/routers/old/easy-project/db.js index 4db8ff7..9032a5d 100644 --- a/server/routers/easy-project/db.js +++ b/server/routers/old/easy-project/db.js @@ -1,7 +1,7 @@ const { v4: uuid } = require('uuid') const ObjectId = require('mongodb').ObjectID -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') const { _idToId, checkDB, _idToIdArray, filterId } = require('./utils') let db = null diff --git a/server/routers/easy-project/index.js b/server/routers/old/easy-project/index.js similarity index 100% rename from server/routers/easy-project/index.js rename to server/routers/old/easy-project/index.js diff --git a/server/routers/easy-project/middlewares/auth-middleware.js b/server/routers/old/easy-project/middlewares/auth-middleware.js similarity index 100% rename from server/routers/easy-project/middlewares/auth-middleware.js rename to server/routers/old/easy-project/middlewares/auth-middleware.js diff --git a/server/routers/easy-project/projects.js b/server/routers/old/easy-project/projects.js similarity index 100% rename from server/routers/easy-project/projects.js rename to server/routers/old/easy-project/projects.js diff --git a/server/routers/easy-project/tasks.js b/server/routers/old/easy-project/tasks.js similarity index 100% rename from server/routers/easy-project/tasks.js rename to server/routers/old/easy-project/tasks.js diff --git a/server/routers/easy-project/users.js b/server/routers/old/easy-project/users.js similarity index 100% rename from server/routers/easy-project/users.js rename to server/routers/old/easy-project/users.js diff --git a/server/routers/easy-project/utils.js b/server/routers/old/easy-project/utils.js similarity index 100% rename from server/routers/easy-project/utils.js rename to server/routers/old/easy-project/utils.js diff --git a/server/routers/edateam/auth.js b/server/routers/old/edateam/auth.js similarity index 100% rename from server/routers/edateam/auth.js rename to server/routers/old/edateam/auth.js diff --git a/server/routers/edateam/controllers.js b/server/routers/old/edateam/controllers.js similarity index 99% rename from server/routers/edateam/controllers.js rename to server/routers/old/edateam/controllers.js index f600a5c..765aa00 100644 --- a/server/routers/edateam/controllers.js +++ b/server/routers/old/edateam/controllers.js @@ -1,6 +1,6 @@ const ObjectId = require('mongodb').ObjectId; const getHash = require('pbkdf2-password')(); -const { getDB } = require('../../utils/mongo'); +const { getDB } = require('../../../utils/mongo'); const USERS_COLLECTION = 'users'; const RECIPES_COLLECTION = 'recipes_collection'; diff --git a/server/routers/edateam/index.js b/server/routers/old/edateam/index.js similarity index 100% rename from server/routers/edateam/index.js rename to server/routers/old/edateam/index.js diff --git a/server/routers/edateam/json/homepage-data/success.json b/server/routers/old/edateam/json/homepage-data/success.json similarity index 100% rename from server/routers/edateam/json/homepage-data/success.json rename to server/routers/old/edateam/json/homepage-data/success.json diff --git a/server/routers/edateam/json/recipe-data/success.json b/server/routers/old/edateam/json/recipe-data/success.json similarity index 100% rename from server/routers/edateam/json/recipe-data/success.json rename to server/routers/old/edateam/json/recipe-data/success.json diff --git a/server/routers/edateam/json/userpage-data/success.json b/server/routers/old/edateam/json/userpage-data/success.json similarity index 100% rename from server/routers/edateam/json/userpage-data/success.json rename to server/routers/old/edateam/json/userpage-data/success.json diff --git a/server/routers/edateam/key.js b/server/routers/old/edateam/key.js similarity index 100% rename from server/routers/edateam/key.js rename to server/routers/old/edateam/key.js diff --git a/server/routers/edateam/main.js b/server/routers/old/edateam/main.js similarity index 100% rename from server/routers/edateam/main.js rename to server/routers/old/edateam/main.js diff --git a/server/routers/edateam/user.js b/server/routers/old/edateam/user.js similarity index 100% rename from server/routers/edateam/user.js rename to server/routers/old/edateam/user.js diff --git a/server/routers/epja-2023-2/example/index.js b/server/routers/old/epja-2023-2/example/index.js similarity index 100% rename from server/routers/epja-2023-2/example/index.js rename to server/routers/old/epja-2023-2/example/index.js diff --git a/server/routers/epja-2023-2/example/news.json b/server/routers/old/epja-2023-2/example/news.json similarity index 100% rename from server/routers/epja-2023-2/example/news.json rename to server/routers/old/epja-2023-2/example/news.json diff --git a/server/routers/epja-2023-2/index.js b/server/routers/old/epja-2023-2/index.js similarity index 100% rename from server/routers/epja-2023-2/index.js rename to server/routers/old/epja-2023-2/index.js diff --git a/server/routers/epja-2023-2/pen-plotter/index.js b/server/routers/old/epja-2023-2/pen-plotter/index.js similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/index.js rename to server/routers/old/epja-2023-2/pen-plotter/index.js diff --git a/server/routers/epja-2023-2/pen-plotter/paths.js b/server/routers/old/epja-2023-2/pen-plotter/paths.js similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/paths.js rename to server/routers/old/epja-2023-2/pen-plotter/paths.js diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-e/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-e/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-e/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-e/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-k/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-k/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-k/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-k/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-y/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-y/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-y/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/lower-y/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-H/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-H/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-H/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-H/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-M/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-M/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-M/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Andrei Konakhau/upper-M/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/ampersand/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/ampersand/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/ampersand/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/ampersand/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/asterisk/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/asterisk/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/asterisk/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/asterisk/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/caret/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/caret/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/caret/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/caret/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/colon/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/colon/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/colon/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/colon/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/comma/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/comma/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/comma/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/comma/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/dollar/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/dollar/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/dollar/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/dollar/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/doubleQuote/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/doubleQuote/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/doubleQuote/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/doubleQuote/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/eight/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/eight/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/eight/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/eight/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/equal/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/equal/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/equal/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/equal/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/exclamationMark/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/exclamationMark/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/exclamationMark/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/exclamationMark/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/five/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/five/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/five/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/five/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/four/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/four/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/four/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/four/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/graveAccent/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/graveAccent/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/graveAccent/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/graveAccent/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/greaterThan/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/greaterThan/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/greaterThan/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/greaterThan/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hash/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hash/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hash/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hash/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hyphen/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hyphen/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hyphen/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/hyphen/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftCurlyBrace/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftCurlyBrace/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftCurlyBrace/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftCurlyBrace/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftParenthesis/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftParenthesis/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftParenthesis/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftParenthesis/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftSquareBracket/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftSquareBracket/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftSquareBracket/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/leftSquareBracket/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lessThan/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lessThan/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lessThan/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lessThan/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-a/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-a/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-a/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-a/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-b/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-b/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-b/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-b/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-c/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-c/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-c/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-c/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/1.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/1.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/1.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-d/1.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-e/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-e/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-e/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-e/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-f/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-f/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-f/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-f/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-g/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-g/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-g/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-g/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-h/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-h/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-h/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-h/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-i/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-i/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-i/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-i/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-j/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-j/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-j/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-j/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-k/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-k/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-k/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-k/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-l/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-l/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-l/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-l/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-m/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-m/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-m/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-m/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-n/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-n/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-n/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-n/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-o/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-o/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-o/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-o/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-p/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-p/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-p/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-p/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-q/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-q/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-q/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-q/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-r/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-r/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-r/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-r/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-s/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-s/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-s/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-s/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-t/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-t/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-t/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-t/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-u/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-u/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-u/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-u/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-v/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-v/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-v/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-v/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-w/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-w/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-w/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-w/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-x/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-x/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-x/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-x/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-y/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-y/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-y/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-y/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-z/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-z/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-z/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/lower-z/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/nine/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/nine/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/nine/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/nine/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/one/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/one/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/one/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/one/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/percent/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/percent/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/percent/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/percent/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/period/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/period/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/period/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/period/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/pipe/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/pipe/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/pipe/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/pipe/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/plus/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/plus/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/plus/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/plus/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/questionMark/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/questionMark/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/questionMark/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/questionMark/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightCurlyBrace/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightCurlyBrace/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightCurlyBrace/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightCurlyBrace/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightParenthesis/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightParenthesis/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightParenthesis/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightParenthesis/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightSquareBracket/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightSquareBracket/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightSquareBracket/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/rightSquareBracket/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/seven/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/seven/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/seven/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/seven/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/singleQuote/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/singleQuote/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/singleQuote/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/singleQuote/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/six/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/six/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/six/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/six/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/slash/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/slash/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/slash/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/slash/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/three/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/three/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/three/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/three/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/tilde/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/tilde/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/tilde/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/tilde/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/two/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/two/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/two/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/two/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/underscore/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/underscore/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/underscore/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/underscore/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-;/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-;/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-;/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-;/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-A/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-A/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-A/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-A/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-B/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-B/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-B/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-B/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-C/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-C/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-C/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-C/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-D/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-D/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-D/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-D/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-E/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-E/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-E/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-E/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-F/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-F/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-F/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-F/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-G/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-G/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-G/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-G/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-H/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-H/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-H/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-H/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-I/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-I/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-I/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-I/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-J/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-J/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-J/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-J/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-K/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-K/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-K/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-K/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-L/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-L/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-L/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-L/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-M/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-M/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-M/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-M/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-N/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-N/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-N/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-N/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-O/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-O/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-O/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-O/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-P/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-P/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-P/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-P/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Q/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Q/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Q/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Q/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-R/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-R/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-R/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-R/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-S/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-S/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-S/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-S/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-T/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-T/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-T/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-T/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-U/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-U/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-U/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-U/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-V/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-V/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-V/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-V/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-W/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-W/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-W/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-W/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-X/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-X/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-X/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-X/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Y/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Y/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Y/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Y/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Z/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Z/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Z/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/upper-Z/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/zero/0.svg b/server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/zero/0.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/zero/0.svg rename to server/routers/old/epja-2023-2/pen-plotter/profiles/Zeyad Alagamy/zero/0.svg diff --git a/server/routers/epja-2023-2/pen-plotter/routes/api.js b/server/routers/old/epja-2023-2/pen-plotter/routes/api.js similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/routes/api.js rename to server/routers/old/epja-2023-2/pen-plotter/routes/api.js diff --git a/server/routers/epja-2023-2/pen-plotter/routes/sub-routes/svg.js b/server/routers/old/epja-2023-2/pen-plotter/routes/sub-routes/svg.js similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/routes/sub-routes/svg.js rename to server/routers/old/epja-2023-2/pen-plotter/routes/sub-routes/svg.js diff --git a/server/routers/epja-2023-2/pen-plotter/routes/sub-routes/users.js b/server/routers/old/epja-2023-2/pen-plotter/routes/sub-routes/users.js similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/routes/sub-routes/users.js rename to server/routers/old/epja-2023-2/pen-plotter/routes/sub-routes/users.js diff --git a/server/routers/epja-2023-2/pen-plotter/static/generated.svg b/server/routers/old/epja-2023-2/pen-plotter/static/generated.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/static/generated.svg rename to server/routers/old/epja-2023-2/pen-plotter/static/generated.svg diff --git a/server/routers/epja-2023-2/pen-plotter/static/p.svg b/server/routers/old/epja-2023-2/pen-plotter/static/p.svg similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/static/p.svg rename to server/routers/old/epja-2023-2/pen-plotter/static/p.svg diff --git a/server/routers/epja-2023-2/pen-plotter/utilities/svg.js b/server/routers/old/epja-2023-2/pen-plotter/utilities/svg.js similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/utilities/svg.js rename to server/routers/old/epja-2023-2/pen-plotter/utilities/svg.js diff --git a/server/routers/epja-2023-2/pen-plotter/utilities/user.js b/server/routers/old/epja-2023-2/pen-plotter/utilities/user.js similarity index 100% rename from server/routers/epja-2023-2/pen-plotter/utilities/user.js rename to server/routers/old/epja-2023-2/pen-plotter/utilities/user.js diff --git a/server/routers/epja-2023-2/score-scout/index.js b/server/routers/old/epja-2023-2/score-scout/index.js similarity index 100% rename from server/routers/epja-2023-2/score-scout/index.js rename to server/routers/old/epja-2023-2/score-scout/index.js diff --git a/server/routers/epja-2023-2/score-scout/tournament-empty.json b/server/routers/old/epja-2023-2/score-scout/tournament-empty.json similarity index 100% rename from server/routers/epja-2023-2/score-scout/tournament-empty.json rename to server/routers/old/epja-2023-2/score-scout/tournament-empty.json diff --git a/server/routers/epja-2023-2/score-scout/tournament.json b/server/routers/old/epja-2023-2/score-scout/tournament.json similarity index 100% rename from server/routers/epja-2023-2/score-scout/tournament.json rename to server/routers/old/epja-2023-2/score-scout/tournament.json diff --git a/server/routers/epja-2023-2/score-scout/tournaments_active.json b/server/routers/old/epja-2023-2/score-scout/tournaments_active.json similarity index 100% rename from server/routers/epja-2023-2/score-scout/tournaments_active.json rename to server/routers/old/epja-2023-2/score-scout/tournaments_active.json diff --git a/server/routers/epja-2023-2/score-scout/tournaments_archived.json b/server/routers/old/epja-2023-2/score-scout/tournaments_archived.json similarity index 100% rename from server/routers/epja-2023-2/score-scout/tournaments_archived.json rename to server/routers/old/epja-2023-2/score-scout/tournaments_archived.json diff --git a/server/routers/hub-video/index.js b/server/routers/old/hub-video/index.js similarity index 78% rename from server/routers/hub-video/index.js rename to server/routers/old/hub-video/index.js index c1755a2..3427e34 100644 --- a/server/routers/hub-video/index.js +++ b/server/routers/old/hub-video/index.js @@ -1,4 +1,4 @@ -const { getIo } = require('../../io') +const { getIo } = require('../../../io') const io = getIo() diff --git a/server/routers/kazan-explore/index.js b/server/routers/old/kazan-explore/index.js similarity index 100% rename from server/routers/kazan-explore/index.js rename to server/routers/old/kazan-explore/index.js diff --git a/server/routers/kazan-explore/json/data/success.json b/server/routers/old/kazan-explore/json/data/success.json similarity index 100% rename from server/routers/kazan-explore/json/data/success.json rename to server/routers/old/kazan-explore/json/data/success.json diff --git a/server/routers/kazan-explore/json/education/info-about-kfu.json b/server/routers/old/kazan-explore/json/education/info-about-kfu.json similarity index 100% rename from server/routers/kazan-explore/json/education/info-about-kfu.json rename to server/routers/old/kazan-explore/json/education/info-about-kfu.json diff --git a/server/routers/kazan-explore/json/first/info-about-kazan/success.json b/server/routers/old/kazan-explore/json/first/info-about-kazan/success.json similarity index 100% rename from server/routers/kazan-explore/json/first/info-about-kazan/success.json rename to server/routers/old/kazan-explore/json/first/info-about-kazan/success.json diff --git a/server/routers/kazan-explore/json/first/news/success.json b/server/routers/old/kazan-explore/json/first/news/success.json similarity index 100% rename from server/routers/kazan-explore/json/first/news/success.json rename to server/routers/old/kazan-explore/json/first/news/success.json diff --git a/server/routers/kazan-explore/json/places/places-data.json b/server/routers/old/kazan-explore/json/places/places-data.json similarity index 100% rename from server/routers/kazan-explore/json/places/places-data.json rename to server/routers/old/kazan-explore/json/places/places-data.json diff --git a/server/routers/kazan-explore/json/sport/sport-data.json b/server/routers/old/kazan-explore/json/sport/sport-data.json similarity index 100% rename from server/routers/kazan-explore/json/sport/sport-data.json rename to server/routers/old/kazan-explore/json/sport/sport-data.json diff --git a/server/routers/kazan-explore/json/transport/bus-numbers.json b/server/routers/old/kazan-explore/json/transport/bus-numbers.json similarity index 100% rename from server/routers/kazan-explore/json/transport/bus-numbers.json rename to server/routers/old/kazan-explore/json/transport/bus-numbers.json diff --git a/server/routers/kazan-explore/json/transport/events-calendar.json b/server/routers/old/kazan-explore/json/transport/events-calendar.json similarity index 100% rename from server/routers/kazan-explore/json/transport/events-calendar.json rename to server/routers/old/kazan-explore/json/transport/events-calendar.json diff --git a/server/routers/kazan-explore/json/transport/info-about-page.json b/server/routers/old/kazan-explore/json/transport/info-about-page.json similarity index 100% rename from server/routers/kazan-explore/json/transport/info-about-page.json rename to server/routers/old/kazan-explore/json/transport/info-about-page.json diff --git a/server/routers/kazan-explore/json/transport/tral-numbers.json b/server/routers/old/kazan-explore/json/transport/tral-numbers.json similarity index 100% rename from server/routers/kazan-explore/json/transport/tral-numbers.json rename to server/routers/old/kazan-explore/json/transport/tral-numbers.json diff --git a/server/routers/kazan-explore/json/transport/trip-schedule/success.json b/server/routers/old/kazan-explore/json/transport/trip-schedule/success.json similarity index 100% rename from server/routers/kazan-explore/json/transport/trip-schedule/success.json rename to server/routers/old/kazan-explore/json/transport/trip-schedule/success.json diff --git a/server/routers/kazan-explore/json/users-information/success.json b/server/routers/old/kazan-explore/json/users-information/success.json similarity index 100% rename from server/routers/kazan-explore/json/users-information/success.json rename to server/routers/old/kazan-explore/json/users-information/success.json diff --git a/server/routers/lobsters/index.js b/server/routers/old/lobsters/index.js similarity index 100% rename from server/routers/lobsters/index.js rename to server/routers/old/lobsters/index.js diff --git a/server/routers/lobsters/stubs/allCourses.json b/server/routers/old/lobsters/stubs/allCourses.json similarity index 100% rename from server/routers/lobsters/stubs/allCourses.json rename to server/routers/old/lobsters/stubs/allCourses.json diff --git a/server/routers/music-learn/index.js b/server/routers/old/music-learn/index.js similarity index 100% rename from server/routers/music-learn/index.js rename to server/routers/old/music-learn/index.js diff --git a/server/routers/music-learn/mocks/courses/1/success.json b/server/routers/old/music-learn/mocks/courses/1/success.json similarity index 100% rename from server/routers/music-learn/mocks/courses/1/success.json rename to server/routers/old/music-learn/mocks/courses/1/success.json diff --git a/server/routers/music-learn/mocks/courses/success.json b/server/routers/old/music-learn/mocks/courses/success.json similarity index 100% rename from server/routers/music-learn/mocks/courses/success.json rename to server/routers/old/music-learn/mocks/courses/success.json diff --git a/server/routers/music-learn/mocks/notes/success.json b/server/routers/old/music-learn/mocks/notes/success.json similarity index 100% rename from server/routers/music-learn/mocks/notes/success.json rename to server/routers/old/music-learn/mocks/notes/success.json diff --git a/server/routers/music-learn/mocks/user/courses/add/success.json b/server/routers/old/music-learn/mocks/user/courses/add/success.json similarity index 100% rename from server/routers/music-learn/mocks/user/courses/add/success.json rename to server/routers/old/music-learn/mocks/user/courses/add/success.json diff --git a/server/routers/music-learn/mocks/user/courses/success.json b/server/routers/old/music-learn/mocks/user/courses/success.json similarity index 100% rename from server/routers/music-learn/mocks/user/courses/success.json rename to server/routers/old/music-learn/mocks/user/courses/success.json diff --git a/server/routers/music-learn/mocks/user/login/success.json b/server/routers/old/music-learn/mocks/user/login/success.json similarity index 100% rename from server/routers/music-learn/mocks/user/login/success.json rename to server/routers/old/music-learn/mocks/user/login/success.json diff --git a/server/routers/music-learn/mocks/user/logout/success.json b/server/routers/old/music-learn/mocks/user/logout/success.json similarity index 100% rename from server/routers/music-learn/mocks/user/logout/success.json rename to server/routers/old/music-learn/mocks/user/logout/success.json diff --git a/server/routers/music-learn/mocks/user/notes/success.json b/server/routers/old/music-learn/mocks/user/notes/success.json similarity index 100% rename from server/routers/music-learn/mocks/user/notes/success.json rename to server/routers/old/music-learn/mocks/user/notes/success.json diff --git a/server/routers/music-learn/mocks/user/success.json b/server/routers/old/music-learn/mocks/user/success.json similarity index 100% rename from server/routers/music-learn/mocks/user/success.json rename to server/routers/old/music-learn/mocks/user/success.json diff --git a/server/routers/my/index.js b/server/routers/old/my/index.js similarity index 100% rename from server/routers/my/index.js rename to server/routers/old/my/index.js diff --git a/server/routers/my/json/catalog-data/success.json b/server/routers/old/my/json/catalog-data/success.json similarity index 100% rename from server/routers/my/json/catalog-data/success.json rename to server/routers/old/my/json/catalog-data/success.json diff --git a/server/routers/my/json/item-data/newsuccess.json b/server/routers/old/my/json/item-data/newsuccess.json similarity index 100% rename from server/routers/my/json/item-data/newsuccess.json rename to server/routers/old/my/json/item-data/newsuccess.json diff --git a/server/routers/neptunium/index.js b/server/routers/old/neptunium/index.js similarity index 100% rename from server/routers/neptunium/index.js rename to server/routers/old/neptunium/index.js diff --git a/server/routers/publicium/index.js b/server/routers/old/publicium/index.js similarity index 100% rename from server/routers/publicium/index.js rename to server/routers/old/publicium/index.js diff --git a/server/routers/publicium/mocks/games.json b/server/routers/old/publicium/mocks/games.json similarity index 100% rename from server/routers/publicium/mocks/games.json rename to server/routers/old/publicium/mocks/games.json diff --git a/server/routers/publicium/mocks/games/trending.json b/server/routers/old/publicium/mocks/games/trending.json similarity index 100% rename from server/routers/publicium/mocks/games/trending.json rename to server/routers/old/publicium/mocks/games/trending.json diff --git a/server/routers/publicium/mocks/maps/by/id.json b/server/routers/old/publicium/mocks/maps/by/id.json similarity index 100% rename from server/routers/publicium/mocks/maps/by/id.json rename to server/routers/old/publicium/mocks/maps/by/id.json diff --git a/server/routers/publicium/mocks/maps/trending.json b/server/routers/old/publicium/mocks/maps/trending.json similarity index 100% rename from server/routers/publicium/mocks/maps/trending.json rename to server/routers/old/publicium/mocks/maps/trending.json diff --git a/server/routers/publicium/mocks/search.json b/server/routers/old/publicium/mocks/search.json similarity index 100% rename from server/routers/publicium/mocks/search.json rename to server/routers/old/publicium/mocks/search.json diff --git a/server/routers/publicium/mocks/users/12.json b/server/routers/old/publicium/mocks/users/12.json similarity index 100% rename from server/routers/publicium/mocks/users/12.json rename to server/routers/old/publicium/mocks/users/12.json diff --git a/server/routers/publicium/mocks/users/12/collection.json b/server/routers/old/publicium/mocks/users/12/collection.json similarity index 100% rename from server/routers/publicium/mocks/users/12/collection.json rename to server/routers/old/publicium/mocks/users/12/collection.json diff --git a/server/routers/publicium/mocks/users/top-load.json b/server/routers/old/publicium/mocks/users/top-load.json similarity index 100% rename from server/routers/publicium/mocks/users/top-load.json rename to server/routers/old/publicium/mocks/users/top-load.json diff --git a/server/routers/r-and-m/index.js b/server/routers/old/r-and-m/index.js similarity index 100% rename from server/routers/r-and-m/index.js rename to server/routers/old/r-and-m/index.js diff --git a/server/routers/r-and-m/json/landing-data/error.json b/server/routers/old/r-and-m/json/landing-data/error.json similarity index 100% rename from server/routers/r-and-m/json/landing-data/error.json rename to server/routers/old/r-and-m/json/landing-data/error.json diff --git a/server/routers/r-and-m/json/landing-data/success.json b/server/routers/old/r-and-m/json/landing-data/success.json similarity index 100% rename from server/routers/r-and-m/json/landing-data/success.json rename to server/routers/old/r-and-m/json/landing-data/success.json diff --git a/server/routers/r-and-m/json/seach/alive.success.json b/server/routers/old/r-and-m/json/seach/alive.success.json similarity index 100% rename from server/routers/r-and-m/json/seach/alive.success.json rename to server/routers/old/r-and-m/json/seach/alive.success.json diff --git a/server/routers/r-and-m/json/seach/success.json b/server/routers/old/r-and-m/json/seach/success.json similarity index 100% rename from server/routers/r-and-m/json/seach/success.json rename to server/routers/old/r-and-m/json/seach/success.json diff --git a/server/routers/school-stage/index.js b/server/routers/old/school-stage/index.js similarity index 100% rename from server/routers/school-stage/index.js rename to server/routers/old/school-stage/index.js diff --git a/server/routers/school-stage/json/account/account.json b/server/routers/old/school-stage/json/account/account.json similarity index 100% rename from server/routers/school-stage/json/account/account.json rename to server/routers/old/school-stage/json/account/account.json diff --git a/server/routers/school-stage/json/login/success.json b/server/routers/old/school-stage/json/login/success.json similarity index 100% rename from server/routers/school-stage/json/login/success.json rename to server/routers/old/school-stage/json/login/success.json diff --git a/server/routers/school-stage/json/teachers/success.json b/server/routers/old/school-stage/json/teachers/success.json similarity index 100% rename from server/routers/school-stage/json/teachers/success.json rename to server/routers/old/school-stage/json/teachers/success.json diff --git a/server/routers/stc-21-03/controllers.js b/server/routers/old/stc-21-03/controllers.js similarity index 97% rename from server/routers/stc-21-03/controllers.js rename to server/routers/old/stc-21-03/controllers.js index 1567c93..28504b0 100644 --- a/server/routers/stc-21-03/controllers.js +++ b/server/routers/old/stc-21-03/controllers.js @@ -1,4 +1,4 @@ -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') let db = null diff --git a/server/routers/stc/index.js b/server/routers/old/stc-21-03/index.js similarity index 98% rename from server/routers/stc/index.js rename to server/routers/old/stc-21-03/index.js index ca9eb7f..9a7be1e 100644 --- a/server/routers/stc/index.js +++ b/server/routers/old/stc-21-03/index.js @@ -1,7 +1,7 @@ const router = require('express').Router() const { connect, getFilmData, setLike, setRating } = require('./controllers') -const { getAnswer } = require('../../utils/common') +const { getAnswer } = require('../../../utils/common') connect() diff --git a/server/routers/stc-22-24/controller.js b/server/routers/old/stc-22-24/controller.js similarity index 99% rename from server/routers/stc-22-24/controller.js rename to server/routers/old/stc-22-24/controller.js index 6401b42..0120129 100644 --- a/server/routers/stc-22-24/controller.js +++ b/server/routers/old/stc-22-24/controller.js @@ -1,6 +1,6 @@ const ObjectId = require('mongodb').ObjectID -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') const dishData = require('./data/dishdata.json') const tabsData = require('./data/tabs.json') const { getResponse, _idToIdArray, _idToId } = require('./utils/common') diff --git a/server/routers/stc-22-24/data/dishdata.json b/server/routers/old/stc-22-24/data/dishdata.json similarity index 100% rename from server/routers/stc-22-24/data/dishdata.json rename to server/routers/old/stc-22-24/data/dishdata.json diff --git a/server/routers/stc-22-24/data/tabs.json b/server/routers/old/stc-22-24/data/tabs.json similarity index 100% rename from server/routers/stc-22-24/data/tabs.json rename to server/routers/old/stc-22-24/data/tabs.json diff --git a/server/routers/stc-22-24/index.js b/server/routers/old/stc-22-24/index.js similarity index 100% rename from server/routers/stc-22-24/index.js rename to server/routers/old/stc-22-24/index.js diff --git a/server/routers/stc-22-24/midlewares/checkRequired.midleware.js b/server/routers/old/stc-22-24/midlewares/checkRequired.midleware.js similarity index 100% rename from server/routers/stc-22-24/midlewares/checkRequired.midleware.js rename to server/routers/old/stc-22-24/midlewares/checkRequired.midleware.js diff --git a/server/routers/stc-22-24/routes/auth.js b/server/routers/old/stc-22-24/routes/auth.js similarity index 100% rename from server/routers/stc-22-24/routes/auth.js rename to server/routers/old/stc-22-24/routes/auth.js diff --git a/server/routers/stc-22-24/routes/dish.js b/server/routers/old/stc-22-24/routes/dish.js similarity index 100% rename from server/routers/stc-22-24/routes/dish.js rename to server/routers/old/stc-22-24/routes/dish.js diff --git a/server/routers/stc-22-24/routes/key.js b/server/routers/old/stc-22-24/routes/key.js similarity index 100% rename from server/routers/stc-22-24/routes/key.js rename to server/routers/old/stc-22-24/routes/key.js diff --git a/server/routers/stc-22-24/routes/order.js b/server/routers/old/stc-22-24/routes/order.js similarity index 100% rename from server/routers/stc-22-24/routes/order.js rename to server/routers/old/stc-22-24/routes/order.js diff --git a/server/routers/stc-22-24/routes/reservation.js b/server/routers/old/stc-22-24/routes/reservation.js similarity index 100% rename from server/routers/stc-22-24/routes/reservation.js rename to server/routers/old/stc-22-24/routes/reservation.js diff --git a/server/routers/stc-22-24/utils/common.js b/server/routers/old/stc-22-24/utils/common.js similarity index 100% rename from server/routers/stc-22-24/utils/common.js rename to server/routers/old/stc-22-24/utils/common.js diff --git a/server/routers/stc/controllers.js b/server/routers/old/stc/controllers.js similarity index 97% rename from server/routers/stc/controllers.js rename to server/routers/old/stc/controllers.js index 1567c93..28504b0 100644 --- a/server/routers/stc/controllers.js +++ b/server/routers/old/stc/controllers.js @@ -1,4 +1,4 @@ -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') let db = null diff --git a/server/routers/stc-21-03/index.js b/server/routers/old/stc/index.js similarity index 100% rename from server/routers/stc-21-03/index.js rename to server/routers/old/stc/index.js diff --git a/server/routers/sugarbun/collections/adminstats.json b/server/routers/old/sugarbun/collections/adminstats.json similarity index 100% rename from server/routers/sugarbun/collections/adminstats.json rename to server/routers/old/sugarbun/collections/adminstats.json diff --git a/server/routers/sugarbun/collections/cakeitem.json b/server/routers/old/sugarbun/collections/cakeitem.json similarity index 100% rename from server/routers/sugarbun/collections/cakeitem.json rename to server/routers/old/sugarbun/collections/cakeitem.json diff --git a/server/routers/sugarbun/collections/cakeshape.json b/server/routers/old/sugarbun/collections/cakeshape.json similarity index 100% rename from server/routers/sugarbun/collections/cakeshape.json rename to server/routers/old/sugarbun/collections/cakeshape.json diff --git a/server/routers/sugarbun/collections/cakesweight.json b/server/routers/old/sugarbun/collections/cakesweight.json similarity index 100% rename from server/routers/sugarbun/collections/cakesweight.json rename to server/routers/old/sugarbun/collections/cakesweight.json diff --git a/server/routers/sugarbun/collections/ingredients.json b/server/routers/old/sugarbun/collections/ingredients.json similarity index 100% rename from server/routers/sugarbun/collections/ingredients.json rename to server/routers/old/sugarbun/collections/ingredients.json diff --git a/server/routers/sugarbun/controller.js b/server/routers/old/sugarbun/controller.js similarity index 98% rename from server/routers/sugarbun/controller.js rename to server/routers/old/sugarbun/controller.js index 1713859..3aca687 100644 --- a/server/routers/sugarbun/controller.js +++ b/server/routers/old/sugarbun/controller.js @@ -1,6 +1,6 @@ const ObjectId = require('mongodb').ObjectID -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') const ingredients = require('./collections/ingredients.json') const cakeshape = require('./collections/cakeshape.json') diff --git a/server/routers/sugarbun/index.js b/server/routers/old/sugarbun/index.js similarity index 100% rename from server/routers/sugarbun/index.js rename to server/routers/old/sugarbun/index.js diff --git a/server/routers/task-boss/auth.js b/server/routers/old/task-boss/auth.js similarity index 100% rename from server/routers/task-boss/auth.js rename to server/routers/old/task-boss/auth.js diff --git a/server/routers/task-boss/constants.js b/server/routers/old/task-boss/constants.js similarity index 100% rename from server/routers/task-boss/constants.js rename to server/routers/old/task-boss/constants.js diff --git a/server/routers/task-boss/controllers.js b/server/routers/old/task-boss/controllers.js similarity index 99% rename from server/routers/task-boss/controllers.js rename to server/routers/old/task-boss/controllers.js index aeb3a31..bfa689d 100644 --- a/server/routers/task-boss/controllers.js +++ b/server/routers/old/task-boss/controllers.js @@ -2,7 +2,7 @@ const hash = require('pbkdf2-password')() -const { getDB } = require('../../utils/mongo') +const { getDB } = require('../../../utils/mongo') // eslint-disable-next-line import/order const ObjectId = require('mongodb').ObjectID diff --git a/server/routers/task-boss/index.js b/server/routers/old/task-boss/index.js similarity index 98% rename from server/routers/task-boss/index.js rename to server/routers/old/task-boss/index.js index 2a845dc..004f262 100644 --- a/server/routers/task-boss/index.js +++ b/server/routers/old/task-boss/index.js @@ -6,7 +6,7 @@ const path = require('path') const md5 = require('crypto-js/md5') const { JWT_SECRET_KEY } = require('./constants') -const { getResponse } = require('../../utils/common') +const { getResponse } = require('../../../utils/common') const { connect, getPeoplesData, createDept, getDepts, getDeptData, deleteDeptById, setUsers, authenticate } = require('./controllers') connect() diff --git a/server/routers/task-boss/stubs/depts.json b/server/routers/old/task-boss/stubs/depts.json similarity index 100% rename from server/routers/task-boss/stubs/depts.json rename to server/routers/old/task-boss/stubs/depts.json diff --git a/server/routers/task-boss/stubs/error.json b/server/routers/old/task-boss/stubs/error.json similarity index 100% rename from server/routers/task-boss/stubs/error.json rename to server/routers/old/task-boss/stubs/error.json diff --git a/server/routers/task-boss/stubs/peoples/success.json b/server/routers/old/task-boss/stubs/peoples/success.json similarity index 100% rename from server/routers/task-boss/stubs/peoples/success.json rename to server/routers/old/task-boss/stubs/peoples/success.json diff --git a/server/routers/task-boss/stubs/tasks/delete.json b/server/routers/old/task-boss/stubs/tasks/delete.json similarity index 100% rename from server/routers/task-boss/stubs/tasks/delete.json rename to server/routers/old/task-boss/stubs/tasks/delete.json diff --git a/server/routers/task-boss/stubs/tasks/tasks.json b/server/routers/old/task-boss/stubs/tasks/tasks.json similarity index 100% rename from server/routers/task-boss/stubs/tasks/tasks.json rename to server/routers/old/task-boss/stubs/tasks/tasks.json diff --git a/server/routers/uryndyklar/index.js b/server/routers/old/uryndyklar/index.js similarity index 93% rename from server/routers/uryndyklar/index.js rename to server/routers/old/uryndyklar/index.js index 8e370f5..2e27e24 100644 --- a/server/routers/uryndyklar/index.js +++ b/server/routers/old/uryndyklar/index.js @@ -3,7 +3,7 @@ const router = require('express').Router() // The code in this folder is partially based on the code from this repo: // https://bitbucket.org/online-mentor/auth-system/src/master/stubs/api/ -const wait = (time = 100) => (req, res, next) => setTimeout(next, time) +const wait = (time = "100") => (req, res, next) => setTimeout(next, time) const stubs = [ ['cart', 'get', 'success'], diff --git a/server/routers/uryndyklar/mocks/cart_get/empty.json b/server/routers/old/uryndyklar/mocks/cart_get/empty.json similarity index 100% rename from server/routers/uryndyklar/mocks/cart_get/empty.json rename to server/routers/old/uryndyklar/mocks/cart_get/empty.json diff --git a/server/routers/uryndyklar/mocks/cart_get/error.json b/server/routers/old/uryndyklar/mocks/cart_get/error.json similarity index 100% rename from server/routers/uryndyklar/mocks/cart_get/error.json rename to server/routers/old/uryndyklar/mocks/cart_get/error.json diff --git a/server/routers/uryndyklar/mocks/cart_get/success.json b/server/routers/old/uryndyklar/mocks/cart_get/success.json similarity index 100% rename from server/routers/uryndyklar/mocks/cart_get/success.json rename to server/routers/old/uryndyklar/mocks/cart_get/success.json diff --git a/server/routers/uryndyklar/mocks/cart_post/error.json b/server/routers/old/uryndyklar/mocks/cart_post/error.json similarity index 100% rename from server/routers/uryndyklar/mocks/cart_post/error.json rename to server/routers/old/uryndyklar/mocks/cart_post/error.json diff --git a/server/routers/uryndyklar/mocks/cart_post/success.json b/server/routers/old/uryndyklar/mocks/cart_post/success.json similarity index 100% rename from server/routers/uryndyklar/mocks/cart_post/success.json rename to server/routers/old/uryndyklar/mocks/cart_post/success.json diff --git a/server/routers/uryndyklar/mocks/search_get/empty.json b/server/routers/old/uryndyklar/mocks/search_get/empty.json similarity index 100% rename from server/routers/uryndyklar/mocks/search_get/empty.json rename to server/routers/old/uryndyklar/mocks/search_get/empty.json diff --git a/server/routers/uryndyklar/mocks/search_get/error.json b/server/routers/old/uryndyklar/mocks/search_get/error.json similarity index 100% rename from server/routers/uryndyklar/mocks/search_get/error.json rename to server/routers/old/uryndyklar/mocks/search_get/error.json diff --git a/server/routers/uryndyklar/mocks/search_get/ikea.json b/server/routers/old/uryndyklar/mocks/search_get/ikea.json similarity index 100% rename from server/routers/uryndyklar/mocks/search_get/ikea.json rename to server/routers/old/uryndyklar/mocks/search_get/ikea.json diff --git a/server/routers/uryndyklar/mocks/search_get/ikea_multicolor.json b/server/routers/old/uryndyklar/mocks/search_get/ikea_multicolor.json similarity index 100% rename from server/routers/uryndyklar/mocks/search_get/ikea_multicolor.json rename to server/routers/old/uryndyklar/mocks/search_get/ikea_multicolor.json diff --git a/server/routers/uryndyklar/mocks/search_get/modelH.json b/server/routers/old/uryndyklar/mocks/search_get/modelH.json similarity index 100% rename from server/routers/uryndyklar/mocks/search_get/modelH.json rename to server/routers/old/uryndyklar/mocks/search_get/modelH.json diff --git a/server/routers/uryndyklar/mocks/search_get/success.json b/server/routers/old/uryndyklar/mocks/search_get/success.json similarity index 100% rename from server/routers/uryndyklar/mocks/search_get/success.json rename to server/routers/old/uryndyklar/mocks/search_get/success.json diff --git a/server/routers/webstar-project/index.js b/server/routers/old/webstar-project/index.js similarity index 100% rename from server/routers/webstar-project/index.js rename to server/routers/old/webstar-project/index.js diff --git a/server/routers/webstar-project/json/cards-data/success.json b/server/routers/old/webstar-project/json/cards-data/success.json similarity index 100% rename from server/routers/webstar-project/json/cards-data/success.json rename to server/routers/old/webstar-project/json/cards-data/success.json diff --git a/server/routers/webstar-project/json/messages/success.json b/server/routers/old/webstar-project/json/messages/success.json similarity index 100% rename from server/routers/webstar-project/json/messages/success.json rename to server/routers/old/webstar-project/json/messages/success.json diff --git a/server/routers/webstar-project/json/users-data/success.json b/server/routers/old/webstar-project/json/users-data/success.json similarity index 100% rename from server/routers/webstar-project/json/users-data/success.json rename to server/routers/old/webstar-project/json/users-data/success.json diff --git a/server/routers/webstar-project/middleware/auth-middleware.js b/server/routers/old/webstar-project/middleware/auth-middleware.js similarity index 100% rename from server/routers/webstar-project/middleware/auth-middleware.js rename to server/routers/old/webstar-project/middleware/auth-middleware.js diff --git a/server/routers/zoom-bar/index.js b/server/routers/old/zoom-bar/index.js similarity index 100% rename from server/routers/zoom-bar/index.js rename to server/routers/old/zoom-bar/index.js diff --git a/server/routers/todo/routes.js b/server/routers/todo/routes.js new file mode 100644 index 0000000..4713608 --- /dev/null +++ b/server/routers/todo/routes.js @@ -0,0 +1,49 @@ +const { Router } = require('express') + +const { ListModel } = require('../../data/model/todo/list') +const { ItemModel } = require('../../data/model/todo/Item') +const { getAnswer } = require('../../utils/common') + +const router = Router() + + // http://localhost:8033/todo/list +router.get('/list', async (req, res) => { + const items = await ListModel + .find({}) + .populate('items') + .exec() + + res.send(getAnswer(null, items)) +}) + +// http://localhost:8033/todo/list/create/new%20List%20Name +router.get('/list/create/:title', async (req, res) => { + const { title } = req.params + + const list = await ListModel.create({ title }) + + res.send(getAnswer(null, list)) +}) + +// http://localhost:8033/todo/item/create/:listId/new%20one +router.get('/item/create/:listId/:name', async (req, res, next) => { + const { name, listId } = req.params + + try { + const list = await ListModel.findById(listId) + + if (!list) { + throw new Error('no such list') + } + + const item = await ItemModel.create({ name }) + + list.addItem(item.id) + + res.send(getAnswer(null, await ListModel.findById(listId))) + } catch (error) { + next(error) + } +}) + +module.exports = router diff --git a/server/utils/common.js b/server/utils/common.js index d5b7d00..e0aee4f 100644 --- a/server/utils/common.js +++ b/server/utils/common.js @@ -1,4 +1,4 @@ -const getAnswer = (errors, data, success = true) => { +exports.getAnswer = (errors, data, success = true) => { if (errors) { return { success: false, @@ -12,7 +12,7 @@ const getAnswer = (errors, data, success = true) => { } } -const getResponse = (errors, data, success = true) => { +exports.getResponse = (errors, data, success = true) => { if (errors.length) { return { success: false, @@ -28,8 +28,3 @@ const getResponse = (errors, data, success = true) => { warnings: [], } } - -module.exports = { - getAnswer, - getResponse, -} diff --git a/server/utils/const.js b/server/utils/const.js new file mode 100644 index 0000000..bc12a52 --- /dev/null +++ b/server/utils/const.js @@ -0,0 +1,4 @@ +const rc = require('../../.serverrc') + +// Connection URL +exports.mongoUrl = `mongodb://${rc.mongoAddr}:${rc.mongoPort}` diff --git a/server/utils/mongo.js b/server/utils/mongo.js index c6be2a0..258067c 100644 --- a/server/utils/mongo.js +++ b/server/utils/mongo.js @@ -1,15 +1,13 @@ const MDBClient = require('mongodb').MongoClient -const rc = require('../../.serverrc') - -// Connection URL -const url = `mongodb://${rc.mongoAddr}:${rc.mongoPort}` +const { mongoUrl } = require('./const') const dbInstanses = { } + const mongoDBConnect = async () => { try { - const MongoClient = new MDBClient(url, { + const MongoClient = new MDBClient(mongoUrl, { useUnifiedTopology: true, }) return await MongoClient.connect() diff --git a/server/utils/mongoose.js b/server/utils/mongoose.js new file mode 100644 index 0000000..d11d7bc --- /dev/null +++ b/server/utils/mongoose.js @@ -0,0 +1,5 @@ +const mongoose = require('mongoose') + +const { mongoUrl } = require('./const') + +mongoose.connect(`${mongoUrl}/mongoose`)